:root{--bg: #1f2430;--panel: #2a3040;--text: #f4f1ea;--muted: #a8a6a0;--accent: #ff9f1c;--bubble: #ffffff;--bubble-text: #2b2b2b;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}button{font:inherit;border:0;border-radius:8px;padding:8px 14px;background:var(--accent);color:#2b1a00;font-weight:700;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);padding:4px 8px}input{font:inherit;border:1px solid #4a5166;border-radius:8px;padding:8px 10px;background:#151922;color:var(--text);min-width:0}.muted{color:var(--muted)}.error{color:#ff8a7a;margin:0}a.button{display:block;text-decoration:none;border-radius:8px;padding:12px 14px;font-weight:700}a.button.kakao{background:#fee500;color:#191919}.preview{display:flex;justify-content:center;padding:8px 0}.swatches{display:flex;gap:8px;border:0;padding:0;margin:0;flex-wrap:wrap}.swatches legend{width:100%;text-align:left;margin-bottom:6px}.swatch{width:36px;height:36px;padding:0;border-radius:50%;border:3px solid transparent}.swatch.picked{border-color:var(--text)}.center-card{max-width:320px;margin:20vh auto 0;padding:24px;background:var(--panel);border-radius:12px;display:flex;flex-direction:column;gap:12px;text-align:center}.center-card label{display:flex;flex-direction:column;gap:6px;text-align:left}.room-screen{height:100%;display:flex;flex-direction:column}.room-header{display:flex;align-items:center;gap:8px;padding:10px 16px}.room-header span{color:var(--muted);font-size:14px}.room-header .link{margin-left:auto}.banner{background:#5a4a1a;text-align:center;padding:6px;font-size:14px}.room-main{flex:1;display:flex;justify-content:center;align-items:flex-start;position:relative;overflow:hidden}.room-stage{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.room-canvas{display:block;image-rendering:pixelated}.fire,.avatar{position:absolute;left:0;top:0;pointer-events:none}.fire svg{position:absolute;left:0;top:0}.fire-b{animation:fire-flicker .6s steps(1) infinite}@keyframes fire-flicker{50%{opacity:0}}.avatar svg{display:block}.sprite{position:absolute;left:50%;bottom:0;transform:translate(-50%)}.night-glow{position:absolute;inset:0;z-index:5;pointer-events:none;animation:glow-flicker 1.6s ease-in-out infinite alternate}@keyframes glow-flicker{to{opacity:.85}}.fire{z-index:6}.avatar-labels{position:absolute;left:50%;bottom:100%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;max-width:160px}.name{font-size:11px;padding:0 4px;border-radius:4px;background:#00000073;white-space:nowrap}.avatar.me .name{background:#ff9f1cd9;color:#2b1a00}.bubble{position:relative;border:2px solid #2b2b2b;background:var(--bubble);color:var(--bubble-text);font-size:13px;line-height:1.3;padding:4px 8px;border-radius:10px;word-break:keep-all;overflow-wrap:anywhere;text-align:center}.bubble.quiet{font-size:12px;color:#4a3a22;background:#fff3dc}.chat-log{position:absolute;left:16px;right:16px;bottom:8px;max-height:40%;overflow-y:auto;margin:0;padding:10px 12px;list-style:none;background:#151922eb;border-radius:10px;font-size:14px;z-index:1000}.chat-log li+li{margin-top:4px}.say-bar{display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.say-bar input{flex:1}.toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%);background:#000c;padding:8px 14px;border-radius:8px;font-size:14px;z-index:2000}.page{max-width:480px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px}.page h1,.page h2{margin:0}.page h2{font-size:16px;margin-top:12px}.page label{display:flex;flex-direction:column;gap:6px}.page-header{display:flex;align-items:center;gap:8px}.page-header h1{font-size:20px}.page-header .link:last-child{margin-left:auto}a.link{color:var(--accent);text-decoration:none;padding:4px 8px}a.button.primary{background:var(--accent);color:#2b1a00;text-align:center}.room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.room-list a{display:flex;align-items:center;gap:8px;padding:12px;border-radius:10px;background:var(--panel);color:var(--text);text-decoration:none}.room-list .muted{margin-left:auto;font-size:13px}.tag{font-size:12px;padding:2px 8px;border-radius:999px;background:#3b4357;color:#ffd9a0;white-space:nowrap}.theme-cards{display:grid;gap:8px}.theme-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--panel);color:var(--text);font-weight:400;border:2px solid transparent;padding:12px}.theme-card.picked{border-color:var(--accent)}.invite-link{padding:10px;border-radius:8px;background:#151922;word-break:break-all;-webkit-user-select:all;user-select:all}.room-actions{display:flex;gap:8px;padding:0 16px;flex-wrap:wrap}.room-actions .button{background:var(--panel);color:var(--text);padding:8px 14px}.notice{margin:0 16px 8px;padding:10px 12px;border-radius:10px;background:#3a3220;display:flex;gap:10px;align-items:center;font-size:14px}.notice p{margin:0;flex:1}.morning-form{border:1px solid #3b4357;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.morning-form select{font:inherit;padding:8px;border-radius:8px;background:#151922;color:var(--text);border:1px solid #4a5166}.morning-form label.check{flex-direction:row;align-items:center}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.board-list{list-style:none;margin:0;padding:0}.board-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #333a4b}.result.on_time{color:#8fd18a}.result.late{color:#ffc46b}.result.absent{color:#ff8a7a}.result.none{color:var(--muted)}.board-table{width:100%;border-collapse:collapse;font-size:14px}.board-table th,.board-table td{text-align:left;padding:6px 4px;border-bottom:1px solid #333a4b}.item-effect{position:absolute;left:70%;top:10%}.item-effect svg{display:block;animation:item-wiggle .5s ease-in-out infinite alternate}@keyframes item-wiggle{to{transform:rotate(-12deg)}}.home-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px}.home-actions a.button:not(.primary){background:var(--panel);color:var(--text);text-align:center}.shop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shop-list li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--panel)}.shop-info{flex:1;display:flex;flex-direction:column;gap:2px}.bubble:after{content:"";position:absolute;left:50%;bottom:-6px;width:8px;height:8px;background:inherit;border-right:2px solid #2b2b2b;border-bottom:2px solid #2b2b2b;transform:translate(-50%) rotate(45deg)}button.secondary,a.button.secondary{background:var(--panel);color:var(--text);border:1px solid #4a5166}a.button.secondary{text-align:center}.my-name{margin:0;text-align:center;font-weight:700;font-size:18px}.invite-code{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#151922}.invite-code strong{flex:1;font-size:24px;letter-spacing:6px;font-family:ui-monospace,Menlo,monospace}.inbox-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.inbox-list li{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:10px;background:var(--panel)}.inbox-list p{margin:0}.inbox-actions{display:flex;gap:8px}.header-icons{margin-left:auto;display:flex;gap:4px}.icon-link{position:relative;font-size:20px;text-decoration:none;padding:4px 6px}.badge{position:absolute;top:-2px;right:-4px;min-width:18px;padding:0 5px;border-radius:999px;background:#e2404f;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #3b4357}.tabs button{background:none;color:var(--muted);border-radius:0;border-bottom:2px solid transparent}.tabs button.picked{color:var(--text);border-bottom-color:var(--accent)}.private-notice{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:6px;padding:12px;border-radius:10px;background:#3a3220}.private-notice p{margin:0}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:1500;max-width:480px;margin:0 auto;padding:16px;border-radius:14px 14px 0 0;background:var(--panel);box-shadow:0 -6px 24px #0006;display:flex;flex-direction:column;gap:10px}.sheet p{margin:0}.sheet-head{display:flex;align-items:center;justify-content:space-between}.invite-form{display:flex;gap:8px}.invite-form input{flex:1;text-transform:uppercase;letter-spacing:2px}.invite-confirm{display:flex;flex-direction:column;align-items:center;gap:8px}.privacy-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.page label.check,.sheet label.check{flex-direction:row;display:flex;align-items:center;gap:8px;font-size:14px}
