:root{--bg:#fff8f0;--ink:#3b2f2f;--pk:#ffb3c1;--mt:#b8e6d0;--yl:#ffe29a;--ac:#e8607a}
*{box-sizing:border-box}body{margin:0;font-family:'Gowun Dodum','Noto Sans KR',sans-serif;background:var(--bg);color:var(--ink);line-height:1.8}
header,footer{padding:16px 20px;text-align:center}header a{margin:0 8px;color:var(--ink);text-decoration:none;font-weight:700}
main{max-width:720px;margin:0 auto;padding:16px 20px}h1{font-size:1.9rem;line-height:1.3}h2{margin-top:2rem}
.card{background:#fff;border-radius:24px;padding:20px;margin:16px 0;box-shadow:0 4px 0 var(--pk)}
.pet{font-size:6rem;width:150px;height:150px;line-height:150px;text-align:center;border-radius:50%;background:var(--yl);margin:0 auto;border:5px solid #fff;box-shadow:0 0 0 4px var(--pk)}
input,select,button{font:inherit;padding:12px;border-radius:14px;border:2px solid var(--pk);width:100%;margin:6px 0}
button{background:var(--ac);color:#fff;border:0;font-weight:700;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.grid a{text-decoration:none;color:inherit;text-align:center;background:#fff;border-radius:20px;padding:12px;box-shadow:0 3px 0 var(--mt)}
.grid b{font-size:2.6rem;display:block}table{width:100%;text-align:center;border-collapse:collapse}td,th{padding:8px;border-bottom:1px solid var(--pk)}
.bar{background:#eee;border-radius:9px;height:14px;margin:4px 0 10px}.bar i{display:block;height:100%;border-radius:9px;background:var(--ac)}small{opacity:.7}
.lv{display:flex;gap:6px}.lv button{margin:0;padding:10px 4px;background:#fff;color:var(--ink);border:2px solid var(--pk);font-size:.9rem}.lv button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.stat{display:flex;justify-content:space-between;gap:8px;margin:12px 0;font-size:.95rem}
.board{display:grid;gap:8px;margin:8px 0 12px}.board.c6{grid-template-columns:repeat(4,1fr)}.board.c8{grid-template-columns:repeat(4,1fr)}.board.c10{grid-template-columns:repeat(5,1fr)}
.cd{position:relative;aspect-ratio:1;padding:0;margin:0;background:none;border:0;perspective:600px}
.cd span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;backface-visibility:hidden;transition:transform .35s}
.cd .fr{background:var(--pk);font-size:1.6rem;color:#fff;box-shadow:0 3px 0 var(--ac)}
.cd .bk{background:var(--yl);font-size:2rem;transform:rotateY(180deg);box-shadow:0 3px 0 var(--pk)}.cd .bk small{font-size:.65rem;opacity:.8}
.cd.up .fr{transform:rotateY(180deg)}.cd.up .bk{transform:rotateY(0)}.cd.ok .bk{background:var(--mt);box-shadow:0 3px 0 #7fc4a0}
.win{text-align:center;background:var(--mt);border-radius:16px;padding:8px 12px;margin:8px 0;font-weight:700}
@media(prefers-reduced-motion:reduce){.cd span{transition:none}}
.sjm{position:fixed;inset:0;background:rgba(59,47,47,.65);display:flex;align-items:center;justify-content:center;z-index:50;padding:12px}
.sjb{background:#fff;border-radius:24px;padding:16px;max-width:440px;width:100%;max-height:96vh;overflow:auto;text-align:center}
.sjb img{width:100%;max-height:58vh;object-fit:contain;border-radius:16px;display:block}
.sjb .sjx{background:#fff;color:var(--ink);border:2px solid var(--pk)}
.tdy{text-align:center}.tdy .dt{margin:0;opacity:.7}.tdy .big{font-size:1.2rem;margin:8px 0 0}.tdy .big b{font-size:3.6rem;color:var(--ac);line-height:1}.tdy .lb{font-weight:700;margin:0 0 6px}.tdy .qt{margin:12px 0 0}
.sc{color:var(--ac);font-size:.9rem;font-weight:700}h3 .sc{margin-left:6px}
.rk{display:grid;grid-template-columns:28px 1fr auto;gap:0 8px;align-items:center;margin:10px 0}.rk .no{font-weight:700;color:var(--ac);text-align:center}.rk a{color:inherit;text-decoration:none;font-weight:700}.rk .bar{grid-column:2/4;margin:2px 0}.rk small{grid-column:2/4}
.lk{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.lk div{background:var(--bg);border-radius:16px;padding:10px 12px;text-align:center}.lk small,.lk b{display:block}
.wk{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;margin:12px 0}.wk button{flex:1;margin:0;padding:6px 2px;background:#fff;color:var(--ink);border:2px solid var(--pk);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.wk button i{display:block;width:60%;background:var(--mt);border-radius:6px}.wk button.on{border-color:var(--ac)}.wk button.on i{background:var(--ac)}.wk button b{font-size:.85rem}
.btn{display:block;text-align:center;text-decoration:none;font:inherit;font-weight:700;padding:12px;border-radius:14px;margin:6px 0;background:var(--ac);color:#fff}.alt{background:#fff!important;color:var(--ink)!important;border:2px solid var(--pk)!important}
#tnav{margin:12px 0}h3{margin:1.2rem 0 .2rem}li{margin:.3rem 0}
.dmt{position:fixed;left:0;right:0;bottom:14px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60;pointer-events:none;padding:0 12px}
.dmt-i{pointer-events:auto;background:var(--ink);color:#fff;border-radius:16px;padding:10px 16px;max-width:420px;width:100%;box-shadow:0 6px 18px rgba(0,0,0,.25);font-size:.95rem;line-height:1.5}.dmt-i a{color:var(--yl);font-weight:700;display:block;margin-top:2px}
.hs{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 3px 0 var(--mt);margin:12px 0}
#htabs{margin:12px 0;flex-wrap:wrap}#htabs button{flex:1 1 22%}
.room{--u:36px;--wall:#fff1e0;--floor:#e9c48f;position:relative;width:100%;aspect-ratio:5/4;border-radius:20px;overflow:hidden;background:var(--wall);user-select:none;-webkit-user-select:none}
.room .rf{position:absolute;left:0;right:0;bottom:0;height:40%;background:var(--floor);border-top:6px solid rgba(0,0,0,.08)}
.room .it{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:0;margin:0;width:auto;line-height:1;cursor:grab;touch-action:none;color:inherit}.room .it.sel,.room .it:focus-visible{outline:3px dashed var(--ac);outline-offset:4px;border-radius:12px}
.seltb{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.seltb button{width:auto;margin:0;padding:8px 14px}
.inv{display:flex;flex-wrap:wrap;gap:8px}.inv button{width:auto;margin:0;padding:6px 10px;background:#fff;color:var(--ink);border:2px solid var(--pk);font-size:1.6rem;line-height:1.2;display:flex;flex-direction:column;align-items:center}.inv small{font-size:.7rem}
.book{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.bk{background:var(--bg);border-radius:16px;padding:10px 4px;text-align:center;color:inherit;text-decoration:none;display:block}.bk.on{background:var(--yl)}.bk b{font-size:2.2rem;display:block;line-height:1.2}.bk b.dim{filter:grayscale(1) brightness(.6);opacity:.5}.bk small{display:block}
.sh{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.sp{background:var(--bg);border-radius:16px;padding:10px;text-align:center}.sp .em{font-size:2.4rem;line-height:1.2}.sp .sw{height:44px;border-radius:12px;margin-bottom:4px;border:2px solid #fff}.sp b,.sp small{display:block}.sp button{margin:6px 0 0;padding:8px}.sp button:disabled{opacity:.45;cursor:not-allowed}
textarea{font:inherit;width:100%;padding:10px;border-radius:14px;border:2px solid var(--pk);margin:6px 0}
