:root{--paper:#f7f7f0;--ink:#26392f;--muted:#56665a;--line:#d3dacf;--green:#34543d;--soft:#e9eee3;--red:#984436}*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--ink);background:#d7ddd4}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,#room:focus-visible{outline:3px solid #668752;outline-offset:3px}button:disabled{opacity:.48;cursor:wait}button:active{transform:translateY(1px)}::selection{color:#203228;background:#dbe8cc}[hidden]{display:none!important}#office,#room{position:absolute;inset:0;width:100%;height:100dvh}#room{touch-action:none;outline-offset:-4px}#room canvas{display:block;width:100%;height:100%}.topbar{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none;text-shadow:0 1px 8px #f7f7f0}.topbar h1{font-size:19px;letter-spacing:-.035em;font-weight:750;margin:0}.world-time{display:flex;align-items:center;gap:9px;background:rgba(247,247,240,.94);padding:10px 13px;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 3px 14px #27382e0a}.world-time span{color:var(--muted);padding-right:9px;border-right:1px solid var(--line)}time{font-variant-numeric:tabular-nums}.entry{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:32px;width:330px;max-width:calc(100vw - 32px);background:var(--paper);padding:26px;border-radius:14px;box-shadow:0 10px 35px #26392f16}.entry h2{font-size:24px;letter-spacing:-.045em;font-weight:650;line-height:1.35;margin:0 0 10px}.entry>p{font-size:13px;line-height:1.6;margin:0 0 22px;color:var(--muted)}.login-buttons{display:grid;gap:9px}.login-buttons button,#previewLogin{min-height:48px;font-weight:650;font-size:14px;border-radius:8px;border:1px solid var(--line);background:white;width:100%}#kakaoLogin{background:#fee500;border-color:#fee500;color:#2e2618}#previewLogin{background:var(--green);color:white;border:0}.entry .entry-note{font-size:11px;line-height:1.6;margin:16px 0 0}#localOnly{margin-top:14px}#localOnly p{font-size:11px;line-height:1.5;margin:0 0 10px;color:var(--muted)}.entry .error{font-size:13px;color:var(--red);margin:14px 0 0}#checkoutSummary{font-size:13px;line-height:1.6;background:var(--soft);padding:12px;margin:0 0 18px;border-radius:8px}#nameplate{position:absolute;transform:translate(-50%,-100%);pointer-events:none;text-align:center;max-width:260px;width:max-content;background:#f8f9f0ed;padding:7px 11px;border-radius:7px;box-shadow:0 3px 12px #27382e16;font-size:12px;line-height:1.45;z-index:2}#nameplate strong{display:block;font-size:12px;font-weight:650;white-space:nowrap}#nameplate span{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;margin-top:2px}.bottom-controls{position:absolute;bottom:max(34px,calc(env(safe-area-inset-bottom) + 20px));left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:7px;background:var(--paper);border-radius:12px;box-shadow:0 5px 20px #24372820;max-width:calc(100vw - 24px)}.bottom-controls button{border:0;background:transparent;min-width:76px;min-height:56px;padding:6px 13px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px;white-space:nowrap}.bottom-controls button:hover,.bottom-controls button[aria-pressed=true]{background:var(--soft)}.bottom-controls .checkout{color:var(--red);border-left:1px solid var(--line);border-radius:0 7px 7px 0}.bottom-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#moveHint{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:11px;color:#344639;margin:0;pointer-events:none;text-shadow:0 1px 6px #f7f7f0}.connection{position:absolute;top:70px;left:24px;font-size:11px;background:#f8f8f0e8;padding:6px 9px;border-radius:6px;color:var(--muted)}#worldLoading,#worldError{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:var(--paper);padding:18px 24px;border-radius:10px;font-size:14px}#worldError button{min-height:44px;background:var(--green);color:white;border:0;border-radius:7px;padding:0 16px}#arrival{position:absolute;bottom:max(40px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}#arrival p{background:var(--paper);padding:13px 20px;border-radius:8px;font-size:14px;margin:0 0 8px}#skipEntry{border:0;border-radius:7px;padding:10px 18px;min-height:44px;background:#f7f7f0d9;font-size:12px}#notice{position:absolute;top:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:8px;font-size:13px;max-width:calc(100vw - 32px);z-index:5;line-height:1.5}dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);width:440px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);padding:24px;box-shadow:0 12px 40px #1c2d3030;overscroll-behavior:contain;scrollbar-color:#a0ad99 var(--paper)}dialog::backdrop{background:#1c2a244d}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet-head h2{font-size:21px;margin:0;letter-spacing:-.035em}.sheet-head button{border:1px solid var(--line);background:transparent;min-width:52px;min-height:44px;border-radius:7px;font-size:12px}#recordName{font-size:13px;color:var(--muted);line-height:1.5}.record-totals{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.record-totals dt{font-size:12px;color:var(--muted);margin-bottom:6px}.record-totals dd{margin:0;font-size:22px;font-weight:600;letter-spacing:-.03em}#nextRank{font-size:12px;color:var(--muted);line-height:1.6}dialog h3{font-size:14px;margin:26px 0 10px}.history{list-style:none;padding:0;margin:0}.history li{padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:12px;line-height:1.5}.history .empty{color:var(--muted)}dialog details{margin-top:22px;font-size:12px;line-height:1.75;color:var(--muted)}dialog summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--ink)}dialog details p{margin:8px 0}
@media(max-width:600px) and (orientation:portrait){.topbar{top:max(14px,env(safe-area-inset-top));left:16px;right:16px;gap:8px}.topbar h1{font-size:17px}.world-time{padding:9px 10px;gap:6px;font-size:11px}.world-time span{padding-right:6px}.entry{left:16px;right:16px;bottom:max(20px,env(safe-area-inset-bottom));width:auto;padding:22px;border-radius:12px}.entry h2{font-size:23px}.entry>p{margin-bottom:16px}.bottom-controls{gap:2px;padding:6px;width:calc(100vw - 32px);max-width:360px}.bottom-controls button{min-width:0;flex:1;padding:7px 8px;font-size:11px}.connection{top:62px;left:16px}.entry .entry-note{margin-top:12px}.topbar h1{white-space:nowrap}#nameplate{max-width:calc(100vw - 32px)}#nameplate strong{font-size:11px}dialog{margin:auto 12px max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 40px);width:calc(100vw - 24px);padding:20px}#moveHint{font-size:11px;bottom:7px}}
@media(orientation:landscape) and (max-height:550px){.topbar{top:max(10px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}.topbar h1{font-size:16px}.world-time{font-size:11px;padding:8px 10px}.entry{top:55px;bottom:12px;left:max(16px,env(safe-area-inset-left));padding:16px;width:270px;overflow:auto;border-radius:10px}.entry h2{font-size:19px;margin-bottom:5px}.entry>p{font-size:12px;margin-bottom:11px}.entry .entry-note{display:none}.login-buttons{grid-template-columns:1fr 1fr;gap:6px}.login-buttons button{font-size:11px;min-height:44px;padding:0 5px}#localOnly{margin-top:10px}#localOnly p{font-size:11px;margin-bottom:6px}.bottom-controls{bottom:max(13px,env(safe-area-inset-bottom));left:auto;right:max(16px,env(safe-area-inset-right));transform:none;padding:5px;gap:3px}.bottom-controls button{min-width:58px;min-height:48px;font-size:11px;padding:4px 8px;gap:3px}.bottom-controls svg{width:18px;height:18px}#moveHint{right:auto;left:max(16px,env(safe-area-inset-left));bottom:14px;font-size:11px;width:140px;line-height:1.5;text-align:left}.connection{top:50px;left:max(16px,env(safe-area-inset-left))}#arrival{bottom:18px}dialog{max-height:calc(100dvh - 20px);padding:18px 22px}#notice{top:55px}.record-totals{grid-template-columns:1fr 1fr;gap:12px}.record-totals dd{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Shared desks and the wall noticeboard. */
.shared-copy{font-size:13px;line-height:1.65;color:var(--muted)}
#seatGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
#seatGrid button{min-height:52px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px}
#seatGrid button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
#seatGrid button:disabled{background:#dfe3da;color:#56665a;opacity:1;cursor:default}
.seat-map-label{text-align:center;font-size:12px;color:var(--muted);padding:8px}
.primary-action{min-height:44px;border:0;border-radius:7px;background:var(--green);color:#fff;padding:10px 16px;font-size:14px}
#saveSeat{width:100%}#seatStatus,#boardStatus{font-size:13px;line-height:1.5}
#boardDialog{width:600px}#noteForm label{display:block;font-size:14px;margin:16px 0 8px}
#noteText{display:block;resize:vertical;width:100%;min-height:88px;border:1px solid #8a9989;border-radius:6px;padding:12px;font:16px/1.5 inherit;background:#fffef7;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.5}
#noteText:focus-visible{outline:3px solid #668752;outline-offset:2px}.note-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}#noteCount{font-size:12px;color:var(--muted)}
#noteList{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.post-it{background:#f4e7a8;padding:16px;box-shadow:0 4px 8px #48432a12;overflow-wrap:anywhere}.post-it:nth-child(3n+2){background:#e2eac6}.post-it:nth-child(3n){background:#f1d9c8}.post-it p{white-space:pre-wrap;font-size:15px;line-height:1.6;margin:0 0 16px}.post-it small{display:block;font-size:12px;line-height:1.5}.post-it button{display:block;min-height:44px;margin-top:8px;padding:8px 0;background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:12px}
@media(max-width:420px){#noteList{grid-template-columns:1fr}.bottom-controls button{padding-inline:4px;font-size:10px}.bottom-controls{max-width:380px}.world-time{gap:4px}.topbar h1{font-size:16px}}

.current-rank{font-size:14px}.current-rank strong{margin-left:8px}.rank-steps{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.rank-steps [aria-current]{font-weight:700;color:var(--green)}

#seatOrientation{border:0;padding:0;margin:16px 0;display:flex;gap:16px;flex-wrap:wrap}#seatOrientation legend{font-size:13px;margin-bottom:8px}#seatOrientation label{display:flex;align-items:center;gap:6px;min-height:44px;font-size:14px}#seatOrientation input{accent-color:var(--green);width:18px;height:18px}

#notice{width:max-content;word-break:keep-all;overflow-wrap:anywhere}
/* Shared pinboard: browse first, compose on request. */
#notice{background:#fff3d8;color:#573c25;border:1px solid #dec7a0}
#boardDialog{width:780px}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.board-toolbar p{font-size:13px;color:#64563f;line-height:1.5;margin:0}.board-toolbar button{background:#715038;flex-shrink:0}
#noteList{background:#b78e60;border:8px solid #826044;border-radius:3px;min-height:230px;padding:24px 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-content:start;isolation:isolate;margin-top:12px}
#noteList .post-it{position:relative;border:0;border-radius:0;min-height:145px;min-width:0;text-align:left;margin:0 -5px -8px;padding:18px 14px 14px;color:#493b22;transform:rotate(var(--tilt));box-shadow:2px 5px 8px #4a321d38;display:flex;flex-direction:column;justify-content:space-between;gap:14px;cursor:pointer}
#noteList .post-it::before{content:'';position:absolute;top:5px;left:50%;width:6px;height:6px;border-radius:50%;background:#945641;box-shadow:0 1px 2px #493b2270}.post-it-preview{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}#noteList .post-it small{font-size:11px;line-height:1.4}.post-it:hover,.post-it:focus-visible,.post-it[aria-pressed=true]{z-index:2}#noteList .post-it[aria-pressed=true]{outline:3px solid #71452c;outline-offset:2px}
.note-detail{margin-top:24px;background:#fff1bd;padding:20px;color:#493b22}.note-detail h3{margin:0;font-size:18px}#selectedNoteText{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7}#selectedNoteAuthor{font-size:12px}#deleteSelectedNote,#cancelNote{border:0;background:transparent;color:#71452c;min-height:44px;padding:8px;text-decoration:underline}#deleteSelectedNote{display:block;margin-top:12px}#noteForm{margin-top:20px}#postNote{background:#715038}
#seatOwner{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-100%);max-width:calc(100vw - 24px);width:max-content;padding:9px 12px;border-radius:6px;background:#fff3d8;color:#573c25;box-shadow:0 3px 12px #573c2524;font-size:13px;font-weight:650;line-height:1.5;text-align:center;word-break:keep-all}
@media(max-width:600px){#noteList{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 13px}#noteList .post-it{padding:17px 10px 12px;min-height:132px}.post-it-preview{font-size:13px}.board-toolbar{align-items:flex-start}.board-toolbar p{max-width:18ch}.board-toolbar button{font-size:13px;padding-inline:12px}}
@media(max-width:400px){#noteList{grid-template-columns:repeat(2,minmax(0,1fr))}.board-toolbar{gap:8px}}

.remote-nameplate{position:absolute;pointer-events:none;z-index:2;transform:translate(-50%,-100%);max-width:220px;text-align:center;background:#fff3d8ed;color:#573c25;padding:6px 9px;border-radius:6px;font-size:11px;line-height:1.4}.remote-nameplate strong,.remote-nameplate span{display:block}.remote-nameplate span{font-size:10px;margin-top:2px}.connection{display:flex;align-items:center;gap:8px;padding:0 8px;min-height:44px}#onlineCount{font-size:10px}#musicToggle{display:flex;gap:5px;align-items:center;min-height:44px;padding:6px;border:0;background:transparent;font-size:11px}#musicToggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}#musicToggle[aria-pressed=true]{color:#715038}

#welcome{width:420px;background:#fff8e9;color:#573c25;padding:28px}#welcome h2{font-size:25px;line-height:1.4;letter-spacing:-.025em;margin:0 0 20px}#welcome p{font-size:14px;line-height:1.8;margin:14px 0}#welcome strong{font-weight:650}#welcomeEnter{width:100%;margin-top:12px;background:#715038}@media(orientation:landscape) and (max-height:550px){#welcome{width:560px;padding:20px}#welcome h2{font-size:21px;margin-bottom:12px}#welcome br{display:none}#welcome p{margin:8px 0;font-size:13px}#welcomeEnter{margin-top:4px}}

.remote-nameplate{width:max-content;max-width:min(180px,calc(100vw - 24px))}.remote-nameplate strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.furniture-preview{height:200px;width:100%;overflow:hidden;border-radius:12px;margin:16px 0;background:#f0ece2}.furniture-preview canvas{display:block;width:100%;height:100%}
.furniture-choices{display:grid;gap:18px}.furniture-choices fieldset{border:0;padding:0;margin:0;display:grid;gap:7px}.furniture-choices legend{font-size:14px;font-weight:650;padding:0;margin-bottom:8px}.furniture-choices label{display:flex;gap:12px;align-items:center;min-height:58px;border:1px solid #d1d6cc;border-radius:8px;padding:10px 12px;cursor:pointer}.furniture-choices label:has(:checked){background:#e6ece0;border-color:#617b59}.furniture-choices input{accent-color:var(--green);width:18px;height:18px;flex:none}.furniture-choices strong{font-size:13px;display:block}.furniture-choices small{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:#566451}#seatDialog{width:520px}#saveSeat{margin-bottom:4px}
@media(orientation:landscape) and (max-height:550px){.furniture-preview{height:160px}}

#furnitureDialog{width:520px}.furniture-choices fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.furniture-choices label{min-height:44px;padding:8px;font-size:13px}.furniture-choices legend{grid-column:1/-1}.furniture-choices input:focus-visible{outline:3px solid #668752;outline-offset:3px}.furniture-choices label:has(input:focus-visible){outline:2px solid #668752}.furniture-preview{min-height:160px}.bottom-controls button{min-width:0}@media(max-width:400px){.bottom-controls{gap:2px;padding:5px}.bottom-controls button{padding-inline:7px}.bottom-controls button span{font-size:10px}}


/* Welcome scroll: aged paper, rolled edges, one close action. */
#welcome{overflow:visible;width:440px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 72px);padding:32px 28px 24px;border:0;border-radius:3px;background:linear-gradient(90deg,#d4b77c 0%,#f2dfb2 7%,#f8e9c8 48%,#f1dcad 93%,#cfad70);color:#593d28;box-shadow:0 18px 45px #30231545;scrollbar-color:#98703f #eddbb2}
#welcome::before,#welcome::after{content:'';position:absolute;left:-12px;right:-12px;height:24px;border-radius:50% / 22%;background:linear-gradient(#b68c52,#ead2a0 25%,#fae9bc 47%,#d9b77a 72%,#a77b43);box-shadow:0 4px 5px #64432235;pointer-events:none}
#welcome::before{top:-14px}#welcome::after{bottom:-14px;transform:rotate(180deg)}
#welcome h2{font-family:'Iowan Old Style','AppleMyungjo','Batang',serif;font-size:26px;font-weight:700;line-height:1.5;letter-spacing:-.025em;margin:0 0 20px}#welcome p{font-family:'AppleMyungjo','Batang',serif;line-height:1.85;font-size:15px;margin:12px 0}#welcome strong{font-weight:700}#welcomeEnter{border:1px solid #977142;border-radius:4px;color:#593d28;background:#e4c68d;min-height:44px;margin-top:18px;font-weight:650}#welcomeEnter:hover{background:#dbbb7e}#welcomeEnter:focus-visible{outline:3px solid #77502e;outline-offset:4px}
@media(max-width:400px){#welcome{padding:24px 20px 20px}#welcome h2{font-size:22px;margin-bottom:14px}#welcome p{font-size:13px;line-height:1.7;margin:10px 0}#welcomeEnter{margin-top:12px}}
@media(max-height:580px){#welcome{overflow-y:auto;padding:20px;max-height:calc(100dvh - 48px)}#welcome::before,#welcome::after{display:none}#welcome h2{font-size:21px;margin-bottom:10px}#welcome p{font-size:13px;line-height:1.6;margin:8px 0}#welcome br{display:none}#welcomeEnter{margin-top:8px}}
#welcome{margin:auto;inset:0}
