@import url('https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--paper:#f4f3e9;--ink:#282d27;--muted:#74786b;--line:#d5d7c9;--lime:#c7f26b;--orange:#ff754f;--white:#fffef8;font-family:'Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #5c73ee;outline-offset:4px}button:disabled{cursor:default;opacity:.45}.header{height:102px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-weight:900;font-size:22px;letter-spacing:-1px;line-height:1.35}.brand-icon{font-family:monospace;font-size:42px;width:48px;height:48px;display:grid;place-items:center;line-height:1;background:var(--lime);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:9px;padding-bottom:7px}.brand small{display:block;font-size:10px;letter-spacing:2.2px;font-weight:700;margin-top:4px}.header-right{display:flex;align-items:center;gap:10px}.edition{font-family:monospace;font-size:12px;letter-spacing:1.5px;margin-right:21px}.icon-button{border:1px solid #bfc3b4;background:transparent;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:21px}.icon-button svg{width:20px;height:20px}.icon-button:hover{background:#e7e9dc}main{max-width:1510px;padding:34px 4.5% 0;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font-size:12px;letter-spacing:1px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:8px}.tiny-square{width:7px;height:7px;background:#7d915b;display:inline-block}.intro h1{font-size:clamp(26px,2.65vw,40px);letter-spacing:-1.9px;margin:0;line-height:1.35;font-weight:800}.intro h1 span{color:#7b826e}.intro-note{font-size:14px;line-height:1.85;margin:14px 0 0;color:#737966}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.game-frame{border:1.5px solid var(--ink);border-radius:13px;overflow:hidden;background:#e5e8d9;box-shadow:0 4px 0 #d9ddce}.game-topbar{padding:15px 22px;display:flex;justify-content:space-between;background:#fcfcf5;border-bottom:1px solid var(--ink);font-size:14px;font-weight:600}.game-topbar>span:first-child{display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;border-radius:50%;background:#74875a}.office-time{font-family:monospace;font-size:11px;letter-spacing:.6px;display:flex;gap:18px;align-items:center}.office-time b{font-size:15px;letter-spacing:1px}.canvas-wrap{position:relative;isolation:isolate;background:#e5e8d9;overflow:hidden}#office{width:100%;height:auto;display:block;cursor:crosshair;image-rendering:pixelated;touch-action:manipulation;outline-offset:-4px}.scene-label{position:absolute;top:22px;left:24px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.scene-label span:first-child{font-size:13px;font-weight:600;letter-spacing:-.3px}.scene-label span:last-child{font-size:11px;color:#77816a}.scene-tip{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;color:#667259;background:#f6f7edc7;border:1px solid #bcc4aa;border-radius:30px;padding:7px 13px;pointer-events:none}.crosshair-small{font-size:20px;line-height:1}.game-bottom{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;background:#fcfcf5;border-top:1px solid var(--ink);font-size:12px;color:#73796a}.game-bottom>span{display:flex;align-items:center;gap:8px}.cursor-symbol{color:var(--ink);font-size:20px}.text-button{padding:0;border:0;background:none;color:#505946;display:flex;align-items:center;gap:6px;font-size:12px}.text-button>span{font-size:21px}.event-strip{display:flex;gap:16px;align-items:center;margin-top:17px;padding:12px 0;border-bottom:1px solid var(--line)}.event-label{font-family:monospace;font-size:10px;letter-spacing:1px;white-space:nowrap;background:#e2e6d7;padding:6px 8px;color:#5c684f;border-radius:3px}.event-strip p{font-size:13px;margin:0;line-height:1.6;flex:1;min-height:21px}.event-spark{font-size:25px;color:#7c8e63}.tool-heading{display:flex;justify-content:space-between;align-items:center;margin:1px 0 16px}.tool-heading h2{font-size:16px;margin:0;font-weight:700;letter-spacing:-.6px}.tool-heading>span{font-family:monospace;font-size:11px;color:var(--muted)}.tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tool{position:relative;display:flex;align-items:center;flex-direction:column;padding:13px 5px 14px;background:#fcfcf5;border:1px solid #c8cebe;border-radius:9px;transition:background .15s,transform .15s,border-color .15s;min-height:138px}.tool:hover{background:#e8eddb;transform:translateY(-2px)}.tool.selected{background:#e6f3c9;border:2px solid #7e9951;padding:12px 4px 13px;box-shadow:inset 0 0 0 3px #eef7dc}.tool kbd{position:absolute;top:8px;left:10px;border:none;background:transparent;color:#8a9280;font-size:10px}.tool.selected kbd{color:#5b713b}.tool-icon{width:70px;height:56px;image-rendering:pixelated;margin-bottom:5px}.tool strong{font-size:15px;letter-spacing:-.6px;font-weight:700}.tool>span{font-size:11px;color:#78806e;margin-top:4px;letter-spacing:-.4px}.relief{padding:20px 0 19px}.relief-heading{display:flex;align-items:center;justify-content:space-between}.relief-heading>span{font-size:13px;font-weight:500}.relief-heading>strong{font-family:monospace;font-size:27px;letter-spacing:-2px}.relief-heading strong span{font-size:15px;letter-spacing:0;margin-left:3px}.meter{height:9px;background:#e0e4d6;margin-top:10px;border:1px solid #c8cfbc;border-radius:3px;overflow:hidden}#relief-fill{width:0;height:100%;background:#92b950;transition:width .3s}.relief p{font-size:11px;color:#808673;margin:9px 0 0}.smash-button{width:100%;display:block;text-align:left;padding:16px 23px 20px;background:var(--orange);border:2px solid var(--ink);border-radius:10px;box-shadow:0 7px 0 var(--ink);transition:transform .08s,box-shadow .08s}.smash-button:active,.smash-button.pressed{transform:translateY(5px);box-shadow:0 2px 0 var(--ink)}.smash-button:hover{background:#ff8867}.smash-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.enter-arrow{font-family:monospace;font-size:26px;line-height:16px}.smash-button>strong{display:block;font-family:Arial,sans-serif;font-size:45px;letter-spacing:-2px;line-height:1.25;margin:2px 0}.smash-button>strong>span{font-style:italic}.smash-hint{font-size:11px;color:#603f30}.team-button{width:100%;background:transparent;border:1px solid #c9cebd;border-radius:7px;padding:12px 15px;font-size:13px;display:flex;align-items:center;gap:9px;margin-top:23px}.team-button:hover{background:#e6eadc}.team-arrow{margin-left:auto;font-size:18px}.local-note{font-size:10px;text-align:center;color:#8b907e;margin:10px 0 0}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0 24px;margin-top:1px;font-size:11px;color:#8a907e;gap:16px}footer>span:first-child{color:#646e58}footer>div{display:flex;gap:17px;align-items:center}kbd{display:inline-block;font:11px monospace;border:1px solid #c8cdbf;background:#eeefe5;padding:2px 5px;border-radius:3px;color:#79816e}.version{font-family:monospace;font-size:10px;letter-spacing:.6px}.footer-mobile{display:none}.combo{position:absolute;top:20px;right:25px;pointer-events:none;color:#ef6c41;font-size:23px;font-weight:900;transform:rotate(-6deg);text-shadow:2px 2px #fff9e4;opacity:0;transition:opacity .15s}.combo.active{opacity:1}dialog{color:var(--ink);width:min(540px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1.5px solid var(--ink);border-radius:14px;background:var(--paper);padding:28px;box-shadow:7px 7px 0 #2226}dialog::backdrop{background:#26312080;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-header h2{font-size:25px;letter-spacing:-1px;margin:0}.dialog-header .eyebrow{font-size:10px;color:#7a856b}.dialog-description{font-size:14px;line-height:1.9;color:#707964;margin:19px 0}.team-fields{display:flex;flex-direction:column;gap:9px}.person-field{display:flex;align-items:center;gap:11px}.person-avatar{width:36px;height:36px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:700}.person-field label{font-size:13px;white-space:nowrap}.person-field input{min-width:0;flex:1;width:100%;border:1px solid #b7c0a7;border-radius:6px;background:#fffef7;padding:10px 12px;font:inherit;font-size:14px;color:var(--ink)}.remove-person{background:none;border:none;font-size:22px;width:28px;color:#737a6b}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.primary-button{border:1.5px solid var(--ink);background:var(--lime);border-radius:7px;padding:12px 16px;font-size:14px;font-weight:700;box-shadow:0 3px 0 var(--ink)}.secondary-button{border:1px solid #bac2ac;background:transparent;border-radius:7px;padding:11px 15px;font-size:13px}.dialog-note{font-size:11px;color:#7d866f;text-align:right}.help-steps{list-style:none;padding:0;margin:26px 0}.help-steps li{display:flex;gap:16px;margin:22px 0}.help-steps li>span{font:18px monospace;color:#92a879;padding-top:2px}.help-steps strong{font-size:16px}.help-steps p{font-size:14px;line-height:1.8;color:#747d68;margin:7px 0 0}.help-note{font-size:12px;color:#7e876f;line-height:1.9;background:#e8ecdc;padding:12px 15px;border-radius:7px}.help-play{width:100%;margin-top:9px}@media(min-width:1600px){main{padding-top:45px}.intro{margin-bottom:34px}}@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.header{height:86px}.intro{margin-bottom:23px}.tool{min-height:124px}.tool-icon{width:60px;height:48px}.tool>span{font-size:10px}.smash-button{padding:12px 19px 15px}.relief{padding:16px 0}.version{display:none}.scene-label{top:15px;left:17px}.game-topbar{padding:13px 17px}.local-note{font-size:10px}.game-bottom{padding:10px 13px}footer{padding-top:24px}}@media(max-width:980px){.header{padding:0 5%;height:80px}.edition{display:none}main{padding:27px 5% 0}.intro h1{font-size:28px;letter-spacing:-1.4px}.intro-note{display:none}.workspace{grid-template-columns:1fr;gap:24px}.control-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.tool-heading{grid-column:1/-1}.tools{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px}.tool{min-height:125px}.tool-icon{width:64px;height:51px}.relief{grid-column:1;padding:20px 0 0}.smash-button{grid-column:2;grid-row:3/5;margin-top:20px}.team-button{grid-column:1;margin-top:14px}.local-note{grid-column:1/-1;margin-top:17px}.event-strip{margin-top:10px}.game-bottom{padding:11px 16px}footer{padding-top:25px}.scene-tip{font-size:11px}.tool>span{font-size:10px}}@media(max-width:480px){.header{height:74px}.brand{font-size:18px}.brand-icon{width:39px;height:39px;font-size:34px;border-radius:7px}.brand small{font-size:8px;letter-spacing:1.7px}.header-right{gap:8px}.icon-button{width:33px;height:33px}.intro h1{font-size:25px}.intro h1 span{display:block;margin-top:3px}.eyebrow{font-size:10px;margin-bottom:9px}.intro{margin-bottom:20px}.workspace{gap:22px}.game-topbar{font-size:12px;padding:12px}.office-time{font-size:9px;gap:8px}.office-time b{font-size:13px}.scene-label{top:12px;left:12px}.scene-label span:first-child{font-size:10px}.scene-label span:last-child{font-size:9px}.scene-tip{font-size:9px;bottom:9px;padding:4px 8px}.crosshair-small{font-size:14px}.game-bottom{padding:9px 11px;font-size:10px}.text-button{font-size:10px}.event-strip{gap:8px;padding:11px 0}.event-label{font-size:8px;padding:5px}.event-strip p{font-size:11px}.event-spark{display:none}.control-panel{gap:0 12px}.tool-heading h2{font-size:15px}.tool{padding:12px 2px;min-height:110px}.tool.selected{padding:11px 1px}.tool strong{font-size:12px;letter-spacing:-.6px}.tool>span{display:none}.tool-icon{width:62px;height:50px;margin-top:7px}.tools{gap:6px}.tool kbd{font-size:9px;top:6px;left:7px}.smash-button{padding:13px 15px}.smash-button>strong{font-size:35px;margin:3px 0}.smash-hint{font-size:9px}.smash-top{font-size:11px}.enter-arrow{font-size:21px}.relief-heading>span{font-size:11px}.relief-heading>strong{font-size:25px}.relief p{font-size:10px}.team-button{padding:10px 12px;font-size:11px;gap:7px}.local-note{font-size:10px}footer{display:block;text-align:center;font-size:10px;line-height:1.8}footer>div{justify-content:center;margin-top:7px}footer>div>span{display:none}footer .footer-mobile{display:inline}.combo{font-size:17px;top:13px;right:13px}dialog{padding:22px}.dialog-header h2{font-size:22px}.dialog-actions{flex-direction:column}.person-field{gap:7px}.person-avatar{width:30px;height:34px}.person-field label{font-size:11px}.person-field input{font-size:13px;padding:9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Keep regular controls legible, especially when the canvas stacks above them. */
.tool>span{font-size:12px}.game-bottom,.text-button,.team-button{font-size:14px}.event-strip p{font-size:14px}.relief-heading>span{font-size:14px}.relief p,.smash-hint,.local-note{font-size:12px}.scene-label span:last-child{font-size:12px}.smash-top{font-size:14px}
@media(max-width:1150px) and (min-width:981px){.tool>span{font-size:11px}.game-bottom,.text-button{font-size:12px}}
@media(max-width:980px){.tool>span{font-size:12px}.scene-label span:first-child{font-size:14px}.scene-label span:last-child{font-size:12px}}
@media(max-width:480px){.game-bottom,.text-button{font-size:12px}.event-strip p{font-size:12px}.team-button{font-size:13px}.relief-heading>span{font-size:12px}.relief p,.smash-hint{font-size:11px}.local-note{font-size:11px}.smash-top{font-size:12px}.scene-label span:first-child{font-size:11px}.scene-label span:last-child{font-size:10px}.scene-tip{font-size:10px}.tool strong{font-size:13px}.tools{gap:5px}}
/* Company editor, room navigation and persistent prank records. */
[hidden]{display:none!important}.rooms-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-width:0}.room-tabs{display:flex;gap:7px;overflow-x:auto;flex:1;padding:3px 0 5px}.room-tab{display:flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid #c4cbb7;background:#fafaf1;border-radius:7px;padding:10px 13px;font-size:14px;white-space:nowrap}.room-tab[aria-pressed=true]{background:#ddebbc;border-color:#778d52;color:#405731;font-weight:700}.room-tab span{font:12px monospace;color:#768668;background:#ffffff65;border-radius:4px;padding:2px 5px}.room-add{border:1px dashed #929f80;border-radius:7px;background:none;font-size:13px;white-space:nowrap;padding:11px 12px}.control-panel{padding-top:61px}.target-bar{background:#e1edc6;border:1px solid #acbf8a;border-radius:7px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;font-size:14px}.target-bar .text-button{font-size:12px;white-space:nowrap}.records{margin-top:34px;border:1px solid #c8cebc;border-radius:12px;background:#fafbf2;overflow:hidden}.records-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 24px 0}.records-heading .eyebrow{font:11px monospace;letter-spacing:1.4px;color:#82916c;margin-bottom:8px}.records-heading h2{margin:0;font-size:23px;letter-spacing:-1px}.records-filter{display:flex;align-items:center;gap:10px;font-size:13px;color:#747d67}select{font:inherit;color:var(--ink);border:1px solid #b8c1aa;background:#fffef7;border-radius:6px;padding:9px 11px;max-width:100%}.records-description{font-size:14px;color:#7a836e;line-height:1.7;padding:0 24px;margin:13px 0 20px}.records-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 24px 23px}.record-total{background:#eef1e2;padding:13px 16px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:7px}.record-total span{font-size:13px;color:#6f7e5b}.record-total strong{font:700 26px monospace;color:#4c5e38}.records-scroll{overflow-x:auto}.records-table{border-collapse:collapse;width:100%;text-align:right;font-size:14px}.records-table th{font-size:12px;color:#737e63;font-weight:500;padding:12px 23px;background:#e9eedc;white-space:nowrap}.records-table th:first-child,.records-table td:first-child{text-align:left}.records-table td{padding:13px 23px;border-bottom:1px solid #e5e9db;font-variant-numeric:tabular-nums}.records-table tr:last-child td{border-bottom:none}.record-name{border:0;background:none;padding:0;text-align:left;display:flex;gap:11px;align-items:center;font-weight:600;font-size:14px}.record-name:hover{color:#658334}.record-name[aria-pressed=true]{color:#607a3d}.record-avatar{width:30px;height:34px;display:grid;place-items:center;border-radius:6px;font:700 12px monospace;flex-shrink:0}.record-name small{display:block;font-size:12px;color:#899479;font-weight:400;margin-top:4px}.record-value{display:inline-flex;justify-content:center;min-width:32px;padding:4px 6px;border-radius:5px}.record-value.nonzero{background:#e1ebcb;color:#526f35;font-weight:700}.records-footnote{padding:16px 24px;border-top:1px solid #dce2ce;font-size:12px;color:#828d71;display:flex;gap:10px;justify-content:space-between;line-height:1.7}.records-empty{padding:22px;font-size:14px;color:#778967;text-align:center}.records-empty button{margin-left:8px}.editor-tabs{display:flex;border-bottom:1px solid #c8d0ba;gap:8px;margin-bottom:18px}.editor-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 15px;font-size:15px;color:#8a957b}.editor-tabs button[aria-selected=true]{border-bottom-color:#76964b;color:#465d32;font-weight:700}.editor-tabs span{font:12px monospace;margin-left:6px;color:#7f9266}#team-dialog{width:min(680px,calc(100% - 28px))}.editor-column-labels{display:grid;grid-template-columns:1fr 160px;padding:0 40px 8px 48px;font-size:12px;color:#8b967c}.person-field select{flex:0 0 160px;font-size:13px;min-width:0}.person-field label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.add-row{width:100%;margin-top:14px;border-style:dashed;padding:12px}.space-fields{display:flex;flex-direction:column;gap:10px}.space-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d1d9c1;background:#f8f9ef;border-radius:8px}.space-kind{font-size:12px;color:#7c8c68;width:55px;flex-shrink:0}.space-row input{width:100%;min-width:0;flex:1;font:inherit;font-size:14px;background:#fffef7;border:1px solid #bac5a9;border-radius:5px;padding:9px 10px}.space-row .room-members{font-size:12px;color:#82906f;white-space:nowrap}.space-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.space-presets button{padding:11px 5px;border:1px dashed #afbc98;background:none;border-radius:6px;font-size:13px}.space-help{font-size:14px;color:#7c876d;line-height:1.7}.editor-notice{font-size:13px;color:#7a663e;background:#eee8d1;padding:10px 13px;border-radius:6px;line-height:1.7}.editor-notice:empty{display:none}.save-problem{color:#a56442!important}.counter-pop{font:700 16px monospace}
@media(max-width:980px){.control-panel{padding-top:0}.records{margin-top:26px}.records-heading{padding:22px 18px 0}.records-summary{padding:0 18px 18px;gap:8px}.record-total{padding:12px}.records-description{padding:0 18px}.records-footnote{flex-direction:column;gap:3px}.room-add{font-size:12px}.room-tab{padding:9px 11px;font-size:13px}}
@media(max-width:600px){.records-heading{align-items:flex-start;gap:10px}.records-heading h2{font-size:20px}.records-filter{flex-direction:column;gap:4px;align-items:flex-end;font-size:11px}.records-filter select{font-size:12px;padding:7px}.records-description{font-size:12px;margin-top:12px}.records-summary{grid-template-columns:1fr 1fr;gap:7px}.record-total strong{font-size:23px}.record-total span{font-size:12px}.records-table{min-width:480px}.records-table th,.records-table td{padding:11px 14px}.records-footnote{font-size:11px;padding:13px 17px}.room-tab{gap:6px;font-size:12px}.room-add{padding:10px 8px;font-size:11px}.person-field select{flex-basis:115px;font-size:12px;padding:9px 5px}.editor-column-labels{grid-template-columns:1fr 115px;padding-left:37px;padding-right:31px}.space-presets{grid-template-columns:1fr 1fr}.space-row{gap:7px;padding:9px}.space-kind{width:40px;font-size:11px}.space-row .room-members{font-size:11px}.space-row input{font-size:13px;padding:9px 6px}.target-bar{font-size:12px}.editor-tabs button{font-size:14px;padding:12px}.person-avatar{width:28px}.person-field input{padding:10px 7px}.record-name{font-size:13px}.records-heading .eyebrow{font-size:10px}}
.canvas-wrap{max-height:650px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a6b68d #e5e8d9}#office{max-width:none;flex-shrink:0}.map-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 17px;background:#eff2e4;border-top:1px solid #c6d0b8;font-size:12px;color:#738365}.map-controls>div{display:flex;align-items:center;gap:8px;flex-shrink:0}.map-controls button{background:#fafbf1;border:1px solid #bfcbae;border-radius:5px;padding:5px 9px;font-size:13px}.map-controls #zoom-value{font:11px monospace;min-width:32px;text-align:center}.map-controls #map-fit{font-size:12px}.scene-label{position:sticky;top:12px;left:17px;height:0;margin-top:-4px;display:none}.scene-tip{position:sticky;bottom:10px;left:50%;width:max-content;max-width:95%;margin-top:-39px;margin-bottom:10px}.room-tabs{flex-wrap:wrap;overflow:visible}.rooms-nav{align-items:flex-start}.room-add{margin-top:3px}.control-panel{padding-top:0}.rooms-nav{margin-bottom:14px}.room-tab{font-size:12px;padding:8px 11px}.map-controls button:focus-visible{outline:3px solid #5c73ee}.target-bar{margin-top:12px}@media(max-width:600px){.canvas-wrap{max-height:390px}.map-controls{padding:9px 10px;align-items:flex-start}.map-controls>span{max-width:125px;font-size:10px;line-height:1.6}.map-controls>div{gap:5px}.map-controls button{padding:5px 7px}.scene-tip{font-size:9px}.room-tab{font-size:11px;padding:7px 9px}.room-add{font-size:11px}.room-tabs{gap:5px}}
.room-chip{display:flex;align-items:center;gap:7px;font-size:13px;color:#687959;padding:8px 10px;border-radius:6px;background:#e8eddc;white-space:nowrap}.room-chip>span{font:12px monospace;color:#8d9d7a}.room-tabs{gap:6px}@media(max-width:600px){.room-chip{font-size:11px;padding:7px 8px}}

/* The floor plan is one continuous page; the controls stay within reach. */
.canvas-wrap{max-height:none}.scene-tip{display:none}.control-panel{position:sticky;top:22px}.rooms-nav{align-items:center}.room-tabs{gap:5px}.room-chip{font-size:11px;padding:6px 8px}.room-add{font-size:12px}.game-topbar{background:#f9faf1}.stress-card{margin:18px 0;padding:18px;border:1px solid #c4cdb5;border-radius:10px;background:#eef2e3}.stress-card>label{display:block;font-size:14px;font-weight:700;letter-spacing:-.4px}.stress-input-row{display:flex;align-items:center;gap:10px;margin-top:11px}.stress-input-row input{width:100%;min-width:0;font:700 28px monospace;color:#485637;border:1px solid #b7c3a4;background:#fffef7;border-radius:6px;padding:10px 12px;outline-offset:2px}.stress-input-row input[aria-invalid=true]{border-color:#ba714c}.stress-input-row>span{font-size:12px;white-space:nowrap;color:#7c876a}.stress-card>p{font-size:10px;line-height:1.6;color:#7d886f;margin:8px 0 0}.stress-card .relief{padding:18px 0 12px;border-bottom:1px solid #d3dcc5}.relief-heading{gap:8px}.stress-card .relief-heading>span{font-size:12px}.stress-card .relief-heading>strong{font-size:25px;letter-spacing:-1px;white-space:nowrap}.stress-card .relief-heading strong span{font-size:12px;letter-spacing:0;color:#8a967a}.stress-card .relief p{font-size:11px;line-height:1.7}.stress-card .stress-rule{font-size:10px;color:#667c4b}.map-controls>span{line-height:1.6}.records-scroll{max-height:590px;overflow:auto}.records-table thead{position:sticky;top:0;z-index:1}.records-table tr:hover{background:#f0f5e3}
@media(max-width:980px){.control-panel{position:static;order:-1;grid-template-columns:1fr 1fr}.stress-card{grid-column:1;grid-row:3/6;margin:15px 0 0}.smash-button{grid-column:2;grid-row:3/4;align-self:start;margin-top:15px}.team-button{grid-column:2;grid-row:4;margin-top:18px;align-self:start}.local-note{grid-column:2;grid-row:5;align-self:start;line-height:1.7}.canvas-wrap{max-height:none}.room-chip{font-size:12px}}
@media(max-width:600px){.stress-card{padding:12px}.stress-card>label{font-size:12px;line-height:1.5}.stress-input-row{gap:5px}.stress-input-row input{font-size:24px;padding:8px}.stress-input-row>span{font-size:10px}.stress-card .relief-heading{align-items:flex-start;flex-direction:column;gap:4px}.stress-card .relief{padding-top:11px}.stress-card .relief p{font-size:10px}.room-tabs{gap:4px}.room-chip{font-size:10px;padding:6px}.room-add{font-size:10px;padding:8px}.local-note{font-size:10px}.map-controls>span{max-width:150px}.records-table th,.records-table td{padding:10px 13px}}

/* Per-person dialogue shares the company editor's draft and save action. */
.speech-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.speech-toolbar label{font-size:14px;font-weight:700}.speech-toolbar select{min-width:150px;max-width:55%;font-size:14px}.speech-help{font-size:14px;line-height:1.75;color:#717d61;margin:16px 0}.speech-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.speech-field:first-child{grid-column:1/-1}.speech-field{min-width:0}.speech-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.speech-field label{font-size:14px;font-weight:600}.speech-field .text-button{font-size:12px;text-decoration:underline;text-underline-offset:3px}.speech-field textarea{font:14px/1.7 'Noto Sans KR',sans-serif;color:var(--ink);display:block;width:100%;min-height:78px;padding:10px 12px;resize:vertical;border:1px solid #b7c0a7;border-radius:6px;background:#fffef7;overflow-wrap:anywhere}.speech-field textarea::placeholder{color:#929b85}.speech-field textarea:focus-visible{outline:3px solid #5c73ee;outline-offset:2px}.speech-field textarea[aria-invalid=true]{border-color:#b66545}.speech-field small{display:block;font-size:12px;color:#8b947e;margin-top:5px}.speech-preview{background:#e7edda;border-radius:8px;padding:14px 16px;margin:18px 0 12px}.speech-preview>span{font-size:12px;color:#6d7e56;font-weight:700}.speech-preview p{font-size:14px;line-height:1.8;margin:6px 0 0;overflow-wrap:anywhere}.editor-tabs button{min-width:0}.editor-tabs{gap:3px}
@media(max-width:600px){.speech-fields{grid-template-columns:1fr;gap:18px}.speech-toolbar{gap:8px}.speech-toolbar select{min-width:100px}.speech-help{font-size:13px}.editor-tabs button{font-size:13px;padding:11px 8px;flex:1;white-space:nowrap}.editor-tabs span{font-size:11px;margin-left:3px}.speech-field .text-button{font-size:12px}.speech-preview{padding:12px}}

/* The selected actor and both sides of every prank stay visible together. */
.control-panel{position:static}.player-card{padding:16px;margin-bottom:18px;background:#e8edf4;border:1px solid #b9c5d6;border-radius:10px}.player-card label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}.player-card select{width:100%;font-size:15px;background:#fffef8}.player-card p{font-size:12px;line-height:1.7;color:#63738d;margin:8px 0 0}.player-card #player-summary{font-size:12px;font-variant-numeric:tabular-nums}.player-card #player-summary:empty{display:none}.smash-button:disabled{opacity:.55;box-shadow:0 4px 0 #6e7063}.record-total{display:block}.record-total>span{font-size:14px;font-weight:700}.record-total-pair{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.record-total-pair>span{display:flex;flex-direction:column;font-size:12px;gap:3px}.record-total-pair>span:last-child,.record-total-pair>span:last-child strong{color:#617ca2}.record-total-pair strong{font-size:24px}.record-value{display:flex;align-items:center;justify-content:space-between;gap:8px;width:76px;margin-left:auto;padding:4px 7px}.record-value+.record-value{margin-top:4px}.record-value small{font-size:12px;font-weight:400;color:#7f8b70}.record-value b{font:600 16px monospace}.record-value.used small{color:#7a8ba4}.record-value.used.nonzero{background:#e6ecf5;color:#526f9b}.record-name small{font-size:12px}
@media(max-width:980px){.player-card{grid-column:1/-1;grid-row:1;margin:0 0 18px}.tool-heading{grid-row:2}.tools{grid-row:3}.stress-card{grid-row:4/7}.smash-button{grid-row:4}.team-button{grid-row:5}.local-note{grid-row:6}.player-card{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:center}.player-card label{margin:0}.player-card select{grid-column:2;grid-row:1}.player-card p{grid-column:1/-1}}
@media(max-width:600px){.player-card{padding:13px;grid-template-columns:1fr;gap:0}.player-card select{grid-column:1;grid-row:2}.player-card label{font-size:14px;margin-bottom:9px}.record-value{width:65px}.records-table{min-width:510px}.record-total-pair strong{font-size:22px}.record-name{white-space:nowrap}}

/* A shared office, walkable rooms, and an interactive personal desk. */
.move-panel{padding:15px;border:1px solid #c3cbb7;border-radius:10px;background:#edf1e5;margin-bottom:14px}.move-fields{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end}.move-fields label{font-size:13px;font-weight:600;min-width:0}.move-fields select{display:block;width:100%;font-size:14px;margin-top:6px}.move-fields button{font-size:13px;padding:11px 12px;white-space:nowrap}.move-bottom{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;align-items:center}.move-bottom label{font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap}.move-bottom input{accent-color:#6d8750;width:16px;height:16px}.move-bottom p{font-size:13px;color:#6a795b;margin:0;line-height:1.5}.map-mode{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}.map-mode button,.desk-toolbar button{padding:9px 12px;border:1px solid #b8c4a7;border-radius:6px;background:#f9faf1;font:600 14px 'Noto Sans KR',sans-serif}.map-mode button[aria-pressed=true],.desk-toolbar button[aria-pressed=true]{background:#d7eaaa;border-color:#7c9651;color:#435b2f}.map-mode>span{font-size:12px;color:#859075}.my-desk{width:100%;margin:-7px 0 20px;font-size:14px}.tool[data-tool=hammer]{grid-column:1/-1;min-height:90px;display:grid;grid-template-columns:65px 1fr;grid-template-rows:1fr 1fr;gap:0 10px;text-align:left;padding:14px 25px}.tool[data-tool=hammer] .tool-icon{grid-row:1/3;margin:0;width:60px;height:48px;align-self:center}.tool[data-tool=hammer] strong{align-self:end}.tool[data-tool=hammer]>span{align-self:start}.ambience-card{background:#e6ebe8;border:1px solid #bfcac1;border-radius:9px;padding:14px;margin:15px 0}.ambience-card button{font:700 14px 'Noto Sans KR',sans-serif;border:0;background:none;padding:0;color:#4e685f}.ambience-card label{font-size:12px;display:flex;justify-content:space-between;margin-top:12px;color:#718578}.ambience-card input{width:100%;accent-color:#698b7c;margin:8px 0 0}.ambience-card p{font-size:12px;line-height:1.6;color:#7c8f80;margin:6px 0 0}.ambience-card button[aria-pressed=true]{color:#2c6c54}.records-summary{grid-template-columns:repeat(3,1fr)}.records-table{min-width:810px}.records-table th,.records-table td{padding:11px 15px}.records-table th small{display:block;font-size:11px}.record-desk{display:block;margin:7px 0 0 41px;border:0;background:none;padding:0;font-size:12px;color:#698158;text-decoration:underline;text-underline-offset:3px}.desk-detail{margin-top:32px;border:1px solid #b9c4aa;border-radius:12px;background:#fafbf3;overflow:hidden;scroll-margin-top:20px}.desk-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 26px 20px}.desk-heading .eyebrow{font:11px monospace;letter-spacing:1.5px;color:#82916c;margin:0 0 8px}.desk-heading h2{font-size:25px;margin:0;letter-spacing:-1px}.desk-heading p:not(.eyebrow){font-size:14px;line-height:1.7;color:#79836f;margin:7px 0 0}.desk-heading label{font-size:13px;color:#6e7f5e;display:flex;align-items:center;gap:10px}.desk-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:0 26px 20px}.desk-play-wrap{overflow-x:auto;margin:0 24px;border:5px solid #95846c;border-bottom-width:13px;border-radius:9px;scrollbar-width:thin;scrollbar-color:#a79375 #ddd0bb}.desk-stage{position:relative;min-width:660px;width:100%;aspect-ratio:1.7;background:repeating-linear-gradient(0deg,transparent 0,transparent 79px,#a68e6b30 80px,#a68e6b30 81px),var(--desk-wood,#dbc4a0)}.desk-object{position:absolute;border:0;background:none;padding:0;min-width:40px;min-height:45px;cursor:crosshair;transition:filter .15s,transform .15s;border-radius:7px;touch-action:manipulation}.desk-object:hover{background:#fffbe630;transform:translateY(-3px)}.desk-object:focus-visible{outline:3px solid #607c49;outline-offset:3px;background:#fffbe650}.desk-object canvas{display:block;width:100%;height:calc(100% - 21px);object-fit:contain;image-rendering:pixelated;pointer-events:none}.object-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;color:#69553d;line-height:1.5;background:#f6ebd5c9;padding:1px 5px;border-radius:3px}.object-mark{position:absolute;inset:20% 0 auto;text-align:center;font-size:24px;font-weight:900;color:#956244;text-shadow:2px 2px #fff6df;pointer-events:none}.desk-object[data-status=computer] canvas{filter:grayscale(.8) brightness(.65);transform:rotate(-8deg)}.desk-object[data-status=bomb] canvas{filter:sepia(.7) brightness(.7);transform:rotate(9deg)}.desk-object[data-status=fart]{background:#afc67866}.desk-object[data-status=hammer] canvas{transform:rotate(-13deg)}.desk-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 25px 0;font-size:14px;color:#7a866c}.desk-footer button{font-size:13px;padding:9px 13px}.desk-event{min-height:26px;font-size:14px;line-height:1.75;color:#728263;margin:14px 25px 20px}.object-pop{animation:desk-pop .5s ease-out}@keyframes desk-pop{0%,100%{transform:translate(0)}20%{transform:translate(-7px,-5px) rotate(-7deg)}40%{transform:translate(7px,2px) rotate(8deg)}70%{transform:translate(-4px,0)}}
@media(max-width:1150px){.move-fields{grid-template-columns:1fr 1fr}.move-fields button{padding:9px}.move-bottom p{font-size:12px}.desk-play-wrap{margin:0 18px}.desk-heading{padding:22px 20px 18px}}
@media(max-width:980px){.my-desk{grid-column:1/-1;grid-row:2;margin:0 0 16px}.tool-heading{grid-row:3}.tools{grid-row:4;grid-template-columns:repeat(4,minmax(0,1fr))}.tool[data-tool=hammer]{display:flex;flex-direction:column;grid-column:auto;min-height:125px;text-align:center;padding:15px 3px;gap:0}.tool[data-tool=hammer] .tool-icon{margin:8px auto}.tool[data-tool=hammer] strong,.tool[data-tool=hammer]>span{align-self:center}.tool>span{display:none}.tool strong{font-size:13px;line-height:1.5}.stress-card{grid-row:5/8}.smash-button{grid-row:5}.team-button{grid-row:6}.local-note{grid-row:7}.ambience-card{grid-column:1/-1;grid-row:8;margin-bottom:0}.move-fields{grid-template-columns:1fr 1fr auto auto}}
@media(max-width:600px){.move-fields{grid-template-columns:1fr 1fr}.move-panel{padding:12px}.move-fields label{font-size:12px}.move-fields select{padding:9px 7px}.move-bottom{gap:9px}.map-mode>span{flex-basis:100%;font-size:12px}.map-mode button{font-size:13px}.tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tool[data-tool=hammer]{grid-column:auto;min-height:110px;padding:12px 2px}.tool[data-tool=computer]{grid-column:auto}.tool-icon{width:60px;height:48px}.desk-heading{align-items:flex-start;padding:20px 16px 14px}.desk-heading h2{font-size:21px}.desk-heading label{flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap;font-size:12px}.desk-heading select{font-size:14px;max-width:105px}.desk-heading p:not(.eyebrow){font-size:12px}.desk-toolbar{padding:0 14px 14px;gap:6px}.desk-toolbar button{font-size:12px;padding:9px 10px}.desk-play-wrap{margin:0 12px}.desk-footer{padding:14px 15px 0;font-size:12px}.desk-event{font-size:13px;margin:12px 15px 18px}.records-summary{grid-template-columns:repeat(2,1fr)}.desk-play-wrap::after{content:'↔ 책상을 좌우로 밀어 모든 물건을 확인하세요';display:block;position:sticky;left:0;width:calc(100vw - 74px);padding:7px;background:#e8ddc7;font-size:11px;text-align:center;color:#7b684b}.record-desk{margin-left:40px}}
