:root{--bg: #f5f1e8;--panel: #ffffff;--hair: #d8d2c4;--accent: #f08c00;--bad: #e03131;--radius: 12px;--wob: 13px 11px 14px 12px;--wob-sm: 9px 7px 10px 8px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.6 Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Hiragino Sans,sans-serif;overscroll-behavior-y:none;background-image:radial-gradient(#00000009 1px,transparent 1px);background-size:4px 4px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100lvh}.screen{width:100%;max-width:560px;margin:0 auto;padding:20px 18px 56px;display:flex;flex-direction:column;gap:24px;flex:1 0 auto}.screen>section{display:flex;flex-direction:column;gap:12px}.screen.center{justify-content:center;align-items:center;text-align:center;gap:14px}.section-title{font-size:19px;font-weight:700;color:var(--dim);letter-spacing:-.005em;margin:0}.muted{color:var(--dim);margin:0}.hint{color:var(--dim);font-size:15.5px;text-align:center;margin:0}.empty{color:var(--dim);text-align:center;padding:28px 0;margin:0}.tab-empty{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-top:56px}.tab-empty h2{margin:0}.tab-empty .primary{align-self:stretch}.center-text{text-align:center}.error-text{color:var(--bad);font-size:16px;margin:0}.wordmark{display:flex;align-items:center;justify-content:center;gap:1px;font-size:37.5px;font-weight:900;letter-spacing:-.01em;margin:0}.home-head .wordmark{justify-content:flex-start;font-size:47.5px;letter-spacing:-.01em;font-weight:900}.home-head .tagline{text-align:left;margin-top:2px}.home-desc{margin:18px 0 0;color:#ab8074;font-size:15px;line-height:1.55}.tagline strong{font-size:1.25em;font-weight:800;color:var(--ink);letter-spacing:-.01em}.wordmark.small{font-size:24px;font-weight:900;letter-spacing:-.01em;opacity:.8}.mark-zodiac{width:34px;height:34px;border-radius:27%;margin-right:7px}.wordmark.small .mark-zodiac{width:20px;height:20px;margin-right:5px}.brand-row{--brand-h: 52px;display:flex;align-items:center;gap:10px}.brand-icon{width:var(--brand-h);height:var(--brand-h);border-radius:22%;flex:0 0 auto}.brand-text{min-width:0;min-height:var(--brand-h);display:flex;flex-direction:column;justify-content:space-between}.brand-text .wordmark{font-size:31px}.brand-name-row{display:flex;align-items:center;gap:8px}.brand-text .wordmark{line-height:.78}.brand-text .tagline{text-align:left;margin:0;line-height:1.2;font-size:14.5px;word-break:keep-all}.mark-o{position:relative;display:inline-block;isolation:isolate}.mark-o svg{position:absolute;inset:0;width:100%;height:100%;stroke:var(--accent);fill:var(--accent);opacity:0;transition:opacity .4s ease}.wordmark:hover .mark-o svg{opacity:1}.tagline{text-align:center;color:var(--dim);margin:6px 0 0;font-size:17px;letter-spacing:.02em}.home-head{padding-top:4px}button,.primary,input{font-family:inherit;font-size:19px}button,.primary{min-width:0;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;line-height:1.25}.tool-row>button,.entry-actions>button,.layout-actions>button{flex:1 1 0}button{background:var(--panel);color:var(--ink);border:2px solid var(--line);border-radius:var(--wob-sm);padding:9px 14px;cursor:pointer;font-weight:600;transition:transform .08s,box-shadow .08s}button:active:not(:disabled){box-shadow:none!important}button.on{background:var(--accent);color:#241800}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--theme);color:#fffdf8;border:2px solid var(--line);box-shadow:var(--shadow-sm);font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary.big{width:100%;padding:15px;border-radius:var(--wob);box-shadow:var(--shadow);font-size:20px}.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--dim)}.ghost:hover{color:var(--ink)}.quiet-link{background:none;border:none;color:var(--dim);font-size:16px;text-decoration:underline;text-underline-offset:3px;padding:4px;cursor:pointer}.swatch{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--line)}.swatch.on{outline:3px solid var(--accent);outline-offset:0}.icon-label{display:inline-flex;align-items:center;justify-content:center;gap:6px}.icon-label svg{flex:0 0 auto}.dk-bottom{display:flex;align-items:center;gap:8px}.dk-colors{flex:1 1 auto;min-width:0;display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px 3px;align-items:center;padding:2px 0}.dk-colors.compact{grid-template-rows:auto}.screen.draw .dk-colors .swatch,.dk-colors .swatch{width:100%;max-width:30px;height:auto;aspect-ratio:1 / 1;margin-inline:auto;padding:0;min-width:0}.screen.draw .dk-colors .swatch.on{outline-offset:0}.dk-colors.colorless{opacity:.35;pointer-events:none}.dk-custom{position:relative;display:inline-block;background:radial-gradient(closest-side,#fff 45%,transparent 46%),conic-gradient(#e03131,#f08c00,#fcc419,#2f9e44,#22b8cf,#1971c2,#7048e8,#f06595,#e03131);cursor:pointer}.dk-custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dk-widths{display:flex;align-items:center;flex:0 0 auto;width:fit-content;gap:0;background:var(--panel);border:1.5px solid var(--line);border-radius:999px;padding:2px 5px}.dk-widths .dk-width{flex:0 0 auto;width:24px;height:24px;padding:0;display:grid;place-items:center;background:none;border:none;border-radius:50%;cursor:pointer}.dk-widths .dk-width.on{background:var(--accent)}.dk-dot{border-radius:50%;background:var(--ink)}.dk-width.on .dk-dot{background:#fff}input[type=text],input:not([type]){width:100%;background:#fff;border:2px solid var(--line);border-radius:var(--wob-sm);padding:13px 14px;color:var(--ink)}input:focus{outline:none;border-color:var(--accent)}input[type=range]{accent-color:var(--accent);flex:1;min-width:90px}.canvas-frame{position:relative;width:100%;background:var(--panel);border:2px solid transparent;border-image:var(--ink-edge);padding:7px;box-shadow:var(--shadow-sm)}.canvas-host{position:relative;width:100%;aspect-ratio:var(--canvas-ar-w, 1080) / var(--canvas-ar-h, 1350);background:#fff;border:1.5px solid var(--line);border-radius:2px;overflow:hidden;touch-action:none}.canvas-host.panning{cursor:grab}.canvas-host.filling{cursor:crosshair}.canvas-host.panning:active{cursor:grabbing}.canvas-stage{width:100%;height:100%;transform-origin:0 0}.canvas-mount{position:relative;width:100%;height:100%}.canvas-host canvas{display:block}.screen.draw{flex:1 0 auto;min-height:100vh;min-height:100dvh;max-width:none;padding-bottom:16px}.screen.draw .canvas-slot{flex:1 1 0;min-height:0;display:flex;justify-content:center;align-items:center;container-type:size}.screen.draw .canvas-frame{width:min(100cqw,calc(100cqh * var(--canvas-ar-w, 1080) / var(--canvas-ar-h, 1350)));height:auto;aspect-ratio:var(--canvas-ar-w, 1080) / var(--canvas-ar-h, 1350);display:flex}.screen.draw .canvas-frame .canvas-host{width:100%;height:100%}.screen.draw .draw-head,.screen.draw .tools,.screen.draw .draw-foot{width:min(560px,100%);align-self:center}.canvas-zoom{display:none;position:absolute;right:14px;bottom:14px;gap:2px;align-items:center;padding:3px;background:var(--panel);border:1.5px solid var(--line);border-radius:3px;box-shadow:var(--shadow-sm)}@media(hover:hover)and (pointer:fine){.canvas-zoom{display:flex}}.zoom-btn,.zoom-level{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:2px}.zoom-btn{padding:6px;line-height:1}.zoom-level{min-width:46px;padding:6px 2px;font-size:15px;font-variant-numeric:tabular-nums}.zoom-btn:hover:not(:disabled),.zoom-level:hover:not(:disabled){background:var(--hair)}.zoom-btn.on{background:var(--accent);color:#fff}.zoom-btn:disabled,.zoom-level:disabled{opacity:.35;cursor:default}.zoom-chip{position:absolute;left:14px;bottom:14px;padding:6px 10px;font-size:15px;font-variant-numeric:tabular-nums;background:var(--panel);color:var(--ink);border:1.5px solid var(--line);border-radius:3px;box-shadow:var(--shadow-sm)}@media(hover:hover)and (pointer:fine){.zoom-chip{display:none}}.canvas-veil{position:absolute;inset:9px;display:grid;place-items:center;color:var(--dim);font-size:16px;background:#ffffffd1;border-radius:2px}.canvas-veil.error{color:var(--bad)}.replay-frame{position:relative;padding-bottom:56px}.replay-bar{position:absolute;left:12px;right:12px;bottom:9px;display:flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;background:#fff;border:1.5px solid var(--line);border-radius:999px}.replay-toggle{display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ink);flex:0 0 auto}.replay-toggle svg{margin-left:1px}.replay-seek{flex:1;min-width:0;margin:0;height:24px;accent-color:var(--accent);touch-action:none}.replay-rate-wrap{position:relative;flex:0 0 auto}.replay-rate{min-width:32px;padding:4px 2px;border:none;background:transparent;color:var(--ink);font-size:14.5px;font-weight:800;font-variant-numeric:tabular-nums;border-radius:999px}.replay-rate:hover{background:var(--hair)}.replay-rate-menu{position:absolute;left:50%;transform:translate(-50%);bottom:calc(100% + 10px);z-index:5;margin:0;padding:4px;list-style:none;display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}.replay-rate-menu button{min-width:44px;width:100%;padding:7px 10px;border:none;background:transparent;border-radius:7px;font-size:15.5px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.replay-rate-menu button:hover{background:var(--hair)}.replay-rate-menu button.on{background:var(--accent);color:#241800;font-weight:800}.sheet-backdrop{position:fixed;inset:0;z-index:60;background:#1b1a178c;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;background-color:var(--bg);background-image:radial-gradient(#00000009 1px,transparent 1px);background-size:4px 4px;border:1px solid var(--line);border-bottom:none;border-radius:18px 18px 0 0;padding:24px 20px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:rise .22s ease-out}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head .section-title{margin:0}.screen.draw{gap:12px;padding-bottom:20px}.draw-head{display:flex;justify-content:space-between;align-items:center}.draw-timer{font-size:24px;color:var(--dim)}.tools{display:flex;flex-direction:column;gap:8px}.tool-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tool-row button{padding:8px 12px;font-size:17.5px}.screen.draw .tool-row button,.screen.draw .swatch{border-width:1.5px;box-shadow:none;border-radius:9px}.screen.draw .tool-row{gap:6px;flex-wrap:nowrap}.screen.draw .swatch{width:26px;height:26px;flex:0 0 auto}.screen.draw .swatch.on{outline-width:3px;outline-offset:0}.screen.draw .canvas-frame{padding:6px;box-shadow:var(--shadow-sm)}.draw-foot{display:flex;flex-direction:column;gap:8px;align-items:center}.draw-foot .muted{font-size:15.5px}.draw-foot .primary{width:100%}@keyframes rise{0%{transform:translateY(16px);opacity:0}}.sheet h2{margin:0;font-size:24px}.sheet .muted{font-size:16px}.control-area{position:relative;display:flex;flex-direction:column;align-self:stretch;align-items:center;gap:12px}.toast{position:fixed;top:14px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:16px;z-index:80;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);word-break:keep-all}.toast-link{color:var(--accent);flex:0 0 auto;white-space:nowrap}.monolog-foot{padding:4px 18px calc(16px + env(safe-area-inset-bottom))}.tab-shell{display:flex;flex-direction:column;flex:1 0 auto}.tab-shell~.monolog-foot{padding-bottom:118px}@media(min-width:700px){.tab-shell~.monolog-foot{padding-bottom:138px}}.monolog-sign{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 0 6px;text-decoration:none;color:var(--dim);text-align:center}.monolog-sign:before{content:"";width:96px;height:6px;margin-bottom:12px;background-image:var(--ink-rule);background-repeat:no-repeat;background-position:center;opacity:.4}.monolog-sign-line{display:flex;align-items:baseline;gap:6px}.monolog-sign-made{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.monolog-sign-name{font-size:17px;font-weight:900;letter-spacing:-.01em;color:var(--ink)}.monolog-sign-desc{font-size:14.5px;margin-top:2px}.monolog-sign:hover .monolog-sign-name{text-decoration:underline;text-underline-offset:3px}.monolog-sign-arrow{align-self:center;margin-left:1px;color:var(--ink);opacity:.75}.dk-hud{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:200;padding:13px 26px;border-radius:16px;background:#14100c9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffdf8;font-size:19px;font-weight:800;letter-spacing:-.01em;opacity:0;pointer-events:none;transition:opacity .22s ease}.dk-hud.show{opacity:1;transition-duration:.08s}.recover-screen{gap:14px}.recover-screen input{text-align:center;font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.06em}.recover-screen h2{margin:0;font-size:24px}@media(min-width:620px){.screen{padding-top:24px}}.tool-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px;line-height:1}.flip-x{transform:scaleX(-1) rotate(180deg)}.tool-btn svg{display:block}.tool-btn.ghost{border-color:transparent}.tool-gap{flex:1}.icon-btn{display:inline-flex;align-items:center;padding:6px}:root{--theme: #905211;--ink: #62380c;--line: #62380c;--dim: #9c8148;--shadow: 4px 5px 0 rgba(98, 56, 12, .13);--shadow-sm: 3px 3px 0 rgba(98, 56, 12, .11);--ink-rule: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='6' viewBox='0 0 160 6'><path d='M0 3.2 C26 1.7 52 4.4 78 3 C104 1.8 130 4.3 160 2.9' fill='none' stroke='%2362380c' stroke-width='1.8' stroke-linecap='round'/></svg>");--ink-edge: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><path d='M14 5 C40 8 78 3 106 6 C114 7 116 12 115 20 C112 48 118 82 114 106 C113 114 108 116 100 115 C72 112 40 118 16 114 C7 113 4 108 5 100 C8 72 2 40 6 16 C7 8 9 5 14 5 Z' fill='none' stroke='%2362380c' stroke-width='4' stroke-linejoin='round'/></svg>")}.screen.together{gap:12px}.together-head{display:flex;align-items:center;gap:10px}.together-mark{font-size:24px;font-weight:900;letter-spacing:-.01em}.together-status{font-size:15px;color:var(--dim)}.together-status.on{color:var(--accent);font-weight:700}.together-copy{margin-left:auto}.together-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:300px;background:var(--panel);border:2.5px dashed var(--ink);border-radius:var(--wob);box-shadow:var(--shadow-sm);cursor:pointer;text-align:center;padding:24px;transition:transform .08s,box-shadow .08s}.together-drop strong{font-size:20px}.together-drop:hover{border-style:solid;box-shadow:var(--shadow)}.together-drop:active{box-shadow:none}.together-frame{position:relative}.canvas-host.lasering{cursor:crosshair}.together-laser{position:absolute;width:14px;height:14px;border-radius:50%;background:#ff2d55;box-shadow:0 0 0 4px #ff2d5540,0 0 12px #ff2d55cc;transform:translate(-50%,-50%);pointer-events:none;z-index:5}.together-actions{justify-content:space-between}.together-swap{cursor:pointer}@media(min-width:700px){.screen.together{flex:1 1 0;min-height:0;max-width:none}.screen.together .together-frame{flex:1 1 0;min-height:0;width:auto;max-width:100%;align-self:center;display:flex;justify-content:center}.screen.together .canvas-host{width:auto;height:100%;max-width:100%;aspect-ratio:var(--canvas-ar-w, 1080) / var(--canvas-ar-h, 1350)}.screen.together .together-head,.screen.together .tools,.screen.together .hint{width:min(640px,100%);align-self:center}}.screen.together .canvas-host{position:relative}.together-laser{--laser: #ff2d55;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#ffffff 0%,var(--laser) 38%,transparent 74%);box-shadow:0 0 8px 2px var(--laser),0 0 22px 9px color-mix(in srgb,var(--laser) 45%,transparent)}.together-head .wordmark.small{margin:0}.t-home-status{justify-content:space-between}.screen.together.t-home{gap:34px;max-width:676px}.t-home .together-drop{min-height:260px}.screen.draw.together{gap:28px}.screen.draw.together .control-area{gap:20px}@media(max-width:699.9px){.screen.draw.together{flex:1 0 auto;min-height:auto}.screen.draw.together .canvas-slot{flex:0 0 auto;container-type:normal}.screen.draw.together .canvas-frame{width:100%}}.zoom-hint{margin:-14px 0 0;text-align:center;align-self:center;font-size:13.5px;color:var(--dim)}.room-new{border:none;background:none;box-shadow:none;padding:2px 6px;align-self:center;color:var(--dim);font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.room-new:hover{color:var(--ink)}.peer-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 9px;border-radius:999px;background:var(--theme);color:#fffdf8;font-size:13px;font-weight:800;white-space:nowrap;flex:0 0 auto;transform:translateY(2.6px)}.brand-aside{margin-left:auto;align-self:center}.brand-aside .tool-btn{margin-right:-12px}.room-menu-wrap{position:relative}.room-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:150px;display:flex;flex-direction:column;background:var(--panel);border:1.5px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);overflow:hidden}.room-menu>button,.room-menu>label{border:none;border-radius:0;background:none;box-shadow:none;text-align:left;padding:12px 16px;font-size:17px;font-weight:600;cursor:pointer;color:var(--ink)}.room-menu>*+*{border-top:1px solid var(--hair)}.room-menu>button:hover,.room-menu>label:hover{background:var(--bg)}.screen.draw .room-copy,.screen.draw.together .home-head,.screen.draw.together .tools{width:min(640px,100%);align-self:center}@media(min-width:700px){.screen.draw.together .tool-row .tool-btn{max-width:85px}.screen.draw.together .dk-colors.compact{display:flex;justify-content:space-between;align-items:center;width:358px;flex:0 0 auto}.screen.draw.together .dk-colors.compact .swatch{margin:0}.screen.draw.together .dk-bottom{justify-content:space-between}}.canvas-host.locked{opacity:.5;pointer-events:none}.canvas-host.peer-drawing{pointer-events:none}.screen.draw.together .canvas-frame{position:relative}.wait-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;width:max-content;max-width:86%;padding:18px 22px;background:#fffdf8f0;border:1.5px solid var(--line);border-radius:var(--wob);box-shadow:var(--shadow-sm);text-align:center;font-size:16.5px;font-weight:600;line-height:1.75;color:var(--ink);pointer-events:none}
