:root{--bg:#0c0b0a;--panel:#13120f;--panel-2:#191714;--line:#2c2a25;--ink:#d9d2c0;--ink-2:#b9b2a1;--dim:#7f786b;--link:#cdbd8f;--accent:oklch(74% .1 22);--dread:0;--recent:var(--accent);--err:var(--accent);--voice:#e8e2d2;--redact:#000;--mono:"Nanum Gothic Coding", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--serif:"Nanum Myeongjo", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif KR", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@property --accent{syntax:"<color>";inherits:true;initial-value:oklch(74% .1 22)}:root{transition:--accent 4s ease-in-out}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.75;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:50;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.2s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}button{font:inherit;color:inherit}body:before{content:"";pointer-events:none;z-index:49;background:radial-gradient(ellipse at center, transparent 55%, oklch(.25 .12 25 / calc(var(--dread) * .55)) 100%);transition:background 4s;position:fixed;inset:0}::selection{color:var(--voice);background:#5a2a24}.dim{color:var(--dim)}.small{font-size:13px}.err{color:var(--err)}b{color:var(--voice);font-weight:700}code{font-family:var(--mono);color:var(--ink);background:var(--panel-2);border-radius:2px;padding:0 4px}.link{color:var(--link);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #cdbd8f59;text-decoration:underline #cdbd8f59}.link:hover,.link:focus-visible{color:var(--voice);text-decoration-color:currentColor}.link.recent,.link.unread{color:var(--recent)}.btn{color:var(--ink-2);cursor:pointer;font-family:var(--serif);letter-spacing:.22em;background:0 0;border:0;padding:6px 4px;transition:color .4s,letter-spacing .6s;position:relative}.btn:before{content:"「";color:var(--dim);margin-right:.15em;transition:color .4s}.btn:after{content:"」";color:var(--dim);margin-left:.05em;transition:color .4s}.btn:hover,.btn:focus-visible{color:var(--voice);letter-spacing:.3em}.btn:hover:before,.btn:hover:after,.btn:focus-visible:before,.btn:focus-visible:after{color:var(--accent)}.btn.primary{color:var(--voice);font-size:18px}.btn.small{letter-spacing:.12em;padding:2px;font-size:13px}.btn.small:hover,.btn.small:focus-visible{letter-spacing:.16em}.btn:disabled{opacity:.35;cursor:default}.btn:focus-visible{-webkit-text-decoration:underline wavy var(--accent) 1px;text-decoration:underline wavy var(--accent) 1px;text-underline-offset:6px;outline:none}:focus-visible{outline:1px dashed var(--ink-2);outline-offset:3px}.title-screen{text-align:center;place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.title-inner{flex-direction:column;align-items:center;gap:18px;max-width:460px;display:flex}.logo{font-family:var(--serif);color:var(--voice);margin:0;font-size:clamp(96px,26vw,168px);font-weight:700;line-height:1;animation:7s infinite flicker;position:relative}.logo span{display:inline-block;position:relative}.logo span:before{content:"";background:var(--bg);width:.05em;box-shadow:0 0 12px 2px var(--bg);animation:9s ease-in-out infinite gap;position:absolute;top:-6%;bottom:-6%;left:50%;transform:translate(-50%)}.logo span:after{content:"";opacity:0;background:#c9c2b0;border-radius:50%;width:4px;height:4px;animation:9s ease-in-out infinite eye;position:absolute;top:41%;left:50%;transform:translate(-50%)}@keyframes gap{0%,60%,to{width:.03em}75%,88%{width:.09em}}@keyframes eye{0%,72%,92%,to{opacity:0}78%,86%{opacity:.85}}@keyframes flicker{0%,96%,to{opacity:1}97%{opacity:.6}98%{opacity:1}99%{opacity:.75}}.subtitle{color:var(--ink-2);font-family:var(--serif);letter-spacing:.3em;margin:0}.title-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.title-actions p{width:100%;margin:0}.sound-toggle{font-size:13px}.warning{color:var(--dim);margin-top:18px;font-size:12.5px;line-height:1.9}.boot{cursor:default;max-width:760px;min-height:100vh;margin:0 auto;padding:40px 16px}.boot pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-all;margin:0}.caret{background:var(--ink);vertical-align:middle;width:9px;height:17px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.register .prompt{margin-top:18px}.app{min-height:100vh}.bar{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding:10px 16px 8px;padding-top:max(10px, env(safe-area-inset-top));background:#0c0b0af5;position:sticky;top:0}.bar>*{max-width:760px;margin-left:auto;margin-right:auto}.bar-top{color:var(--dim);flex-wrap:wrap;gap:4px 16px;font-size:12.5px;display:flex}.bar-top .host{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.bar-top .stat{white-space:nowrap;font-size:12.5px}.bar-top .link{color:var(--dim);text-decoration:none}.bar-top .link:hover{color:var(--ink)}.bar-top .link.unread{color:var(--recent)}.bar-top .link.flash{animation:1.2s ease-in-out 4 mailflash}@keyframes mailflash{50%{color:var(--voice);text-shadow:0 0 8px var(--recent)}}.prompt{border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:8px;margin-top:6px;padding:2px 0 2px 2px;transition:border-color .4s;display:flex}.prompt:focus-within{border-bottom-color:var(--ink-2)}.ps{color:var(--recent);font-weight:700}.prompt input{min-width:0;color:var(--voice);font-family:var(--mono);caret-color:var(--recent);letter-spacing:.02em;background:0 0;border:0;outline:none;flex:1;padding:6px 0;font-size:16px}.prompt input::placeholder{color:#5b564c}.prompt input.ghost{color:var(--recent)}.quick{flex-wrap:wrap;gap:2px 14px;margin-top:6px;font-size:13px;display:flex}.quick .link{color:var(--dim);text-decoration:none}.quick .link:hover{color:var(--ink)}.main{max-width:760px;padding:18px 16px 120px;padding-bottom:max(120px, env(safe-area-inset-bottom));margin:0 auto}.echo{color:var(--dim);word-break:break-all;margin:0 0 14px;font-size:13px}.screen{animation:.25s ease-out both in}@keyframes in{0%{opacity:0}to{opacity:1}}.screen-title{color:var(--voice);letter-spacing:.05em;word-break:break-all;margin:0 0 12px;font-size:15px;font-weight:700}.screen p{margin:0 0 10px}.help{margin:14px 0 18px}.help-row{border-bottom:1px dashed var(--line);grid-template-columns:150px 1fr;gap:12px;padding:6px 0;display:grid}.help-row dt{white-space:nowrap}.help-row dd{color:var(--ink-2);margin:0}@media (width<=520px){.help-row{grid-template-columns:1fr;gap:0}}.list-group{margin-bottom:14px}.decade{color:var(--dim);letter-spacing:.15em;margin:0 0 4px;font-size:12px;font-weight:400}.file-list,.mail-list,.find-list,.notes{margin:0;padding:0;list-style:none}.file-list li{flex-wrap:wrap;align-items:baseline;gap:0 10px;padding:3px 0;display:flex}.count{color:var(--dim);min-width:26px;font-size:12.5px}.count.zero{color:#4d4941}.file-id{letter-spacing:.03em;font-weight:700}.file-title{color:var(--dim);font-size:13px}.list-group.you .file-id{animation:3s infinite flicker}.mail-list li{padding:4px 0}.badge{font-size:12px;font-family:var(--serif);color:var(--recent);letter-spacing:.1em;margin-left:8px}.badge:before{content:"— "}.find-list li{border-bottom:1px dashed var(--line);padding:6px 0}.find-list .file-id{margin-right:10px;display:inline-block}.snippet{color:var(--ink-2);font-size:13.5px}.notes li{word-break:break-word;padding:4px 0}.notes .del{color:var(--dim);text-decoration:none}.echo-err{color:var(--dim);word-break:break-all}.confirm-row{gap:10px;margin-top:16px;display:flex}.new-file{color:var(--recent);font-size:13px;font-family:var(--serif);letter-spacing:.05em}.new-file:before{content:"※ "}.code-chip{font-family:var(--mono);letter-spacing:.06em;color:var(--accent);white-space:nowrap;font-size:.8em}.code-chip:before{content:"(";color:var(--dim)}.code-chip:after{content:")";color:var(--dim)}.people{margin:0 0 16px;padding:0;list-style:none}.people li{border-bottom:1px dashed var(--line);padding:8px 0}.people p{margin:0}.person-head{align-items:baseline;gap:10px;display:flex}.person-head .code-chip{min-width:44px;font-size:13px}.person-files{font-size:13px;margin-top:2px!important}.doc{border:1px solid var(--line);background:var(--panel);margin:8px 0 16px;padding:22px 22px 8px}@media (width<=520px){.doc{margin-left:-4px;margin-right:-4px;padding:16px 14px 4px}}.doc-meta{color:var(--dim);border-bottom:1px dashed var(--line);word-break:keep-all;margin-bottom:16px;padding-bottom:10px;font-size:12.5px}.doc-body{font-family:var(--serif);color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;font-size:16px;line-height:1.95}.doc-body p{margin:0 0 1.1em}.doc-body .line{display:block}.fade{animation:.5s ease-out both fade}@keyframes fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.spk{font-family:var(--mono);color:var(--link);font-size:14px;font-weight:700}.ts{font-family:var(--mono);color:var(--dim);font-size:13px}.bbs-h{font-family:var(--mono);color:#8fa37a;font-size:13px}.quote{font-family:var(--mono);color:#8fa0b8}.chat{font-family:var(--mono);color:var(--dim);margin-right:6px;font-size:13px}.pre{font-family:var(--mono);color:var(--ink);background:var(--panel-2);border-left:2px solid var(--line);white-space:pre-wrap;margin:0 0 1.2em;padding:10px 14px;font-size:14.5px;line-height:1.85;overflow-x:auto}.note{font-family:var(--mono);color:var(--ink-2);border-top:1px dashed var(--line);margin:1.4em 0 1.2em;padding-top:12px;font-size:13.5px;line-height:1.8}.note p{margin:0 0 6px}.note-mark{color:var(--recent)}.redact{background:var(--redact);color:#0000;-webkit-user-select:none;user-select:none;border-radius:1px;line-height:1.1;display:inline-block;box-shadow:0 0 0 1px #23211d}.tape{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:1.2em 0 1.4em;padding:10px 0;display:flex}.tape figcaption{width:100%;margin:0}.tape-reels{flex:1;align-items:center;gap:8px;min-width:140px;display:flex}.reel{border:2px dotted var(--dim);border-radius:50%;width:18px;height:18px}.tape.playing .reel{border-color:var(--ink-2);animation:2.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tape-bar{background:var(--line);flex:1;height:1px;position:relative}.tape-bar span{background:var(--accent);height:3px;position:absolute;top:-1px;left:0}.photo{border:1px solid var(--line);background:#080807;min-height:140px;margin:1.4em 0 1.6em;position:relative}.photo:before{content:"현상 중……";font-family:var(--mono);color:#4d4941;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.photo.loaded{background:0 0;border-color:#0000;min-height:0}.photo.loaded:before{content:none}.photo-btn{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.photo img{opacity:0;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.photo.loaded img{opacity:1;animation:1.6s steps(16,end) both develop,6s ease-in-out 1.6s infinite breathe}@keyframes develop{0%{clip-path:inset(0 0 100%);filter:brightness(1.6)contrast(.6)}to{clip-path:inset(0);filter:none}}@keyframes breathe{0%,to{filter:none}50%{filter:brightness(.92)contrast(1.06)}}.lightbox{z-index:100;cursor:zoom-out;text-align:center;background:#000000f0;flex-direction:column;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out both in;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:78vh}.lightbox p{max-width:640px;margin:8px 0 0}.app.glitch .main,.app.glitch .bar{animation:.65s steps(2,end) both glitch}@keyframes glitch{0%{filter:none;transform:translate(0)}15%{filter:hue-rotate(40deg)contrast(1.6);clip-path:inset(10% 0 40%);transform:translate(-6px,1px)skew(4deg)}30%{filter:invert();clip-path:inset(50% 0 5%);transform:translate(5px,-2px)}45%{filter:none;clip-path:none;transform:translate(-2px)}60%{filter:contrast(2)brightness(.6);transform:translate(3px,1px)skew(-6deg)}to{filter:none;clip-path:none;transform:none}}.called{text-align:center;padding-top:6vh}.voice{font-family:var(--serif);color:var(--voice);font-size:18px}.slow{animation:1.5s ease-out both fade}.slower{animation:2s ease-out 1.6s both fade}.called-img{max-width:360px;margin:0 auto;animation:2s ease-out 3s both fade}.ending{padding-top:6px;position:relative}.skip{float:right;color:var(--dim);cursor:pointer;font-size:12px;font-family:var(--serif);letter-spacing:.15em;background:0 0;border:0;position:sticky;top:140px}.end-line{word-break:keep-all;margin:0 0 10px;animation:.6s ease-out both fade}.end-line.mono{font-family:var(--mono);white-space:pre;margin:0;font-size:13px}.end-line.voice{margin:18px 0;font-size:19px}.share{margin:24px 0;animation:.8s ease-out both fade}.share-msg{word-break:break-all;margin-top:10px}.the-end-wrap{margin-top:48px;animation:2s ease-out both fade}.the-end{font-family:var(--serif);letter-spacing:.4em;color:var(--ink-2)}.file-list li.changed .file-id{animation:3s infinite flicker}.changed-tag{font-size:12px;font-family:var(--serif);color:var(--recent);letter-spacing:.08em;animation:2.4s ease-in-out infinite changed}.changed-tag:before{content:"— "}@keyframes changed{0%,to{opacity:1;text-shadow:0 0 6px var(--recent)}50%{opacity:.55;text-shadow:none}}.answer{margin-top:14px;font-size:18px}.rules-fab{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:60;background:color-mix(in oklab, var(--bg) 88%, transparent);box-shadow:0 0 0 1px var(--line);border-radius:2px;padding:6px 8px;font-size:14px;position:fixed}.rules-panel{right:max(12px, env(safe-area-inset-right));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 44px);z-index:61;background:var(--panel);border:1px solid var(--line);width:min(420px,100vw - 24px);max-height:min(70vh,560px);padding:14px 16px 10px;animation:.25s ease-out both fade;position:fixed;overflow-y:auto;box-shadow:0 10px 40px #0009}.rules-panel-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.rules-panel-head h2{font-family:var(--serif);letter-spacing:.2em;color:var(--ink-2);margin:0;font-size:15px}.rules-format{margin:4px 0}.rules-cols{grid-template-columns:1fr 1fr;gap:0 18px;margin:10px 0;display:grid}.rules-table{margin:0}.rules-table div{gap:10px;padding:2px 0;font-size:13.5px;display:flex}.rules-table dt{letter-spacing:.04em;min-width:3.2em;font-weight:700}.rules-table dd{color:var(--ink-2);margin:0}.rules-table .rules-head{font-family:var(--serif);color:var(--dim);margin-bottom:4px;font-weight:400}.rules-hidden dt,.rules-hidden dd{color:var(--recent)}@media (width<=380px){.rules-cols{grid-template-columns:1fr;gap:10px}}.blink{z-index:200;pointer-events:none;position:fixed;inset:0;overflow:hidden}.blink:before{content:"";opacity:0;background:radial-gradient(#b3100c 0%,#5c0606 55%,#1c0000 100%);animation:1.3s ease-in-out both blink-red;position:absolute;inset:0}.blink .lid{background:radial-gradient(at 50% 100%,#6e0a08 0%,#2a0202 60%,#070000 100%);height:56%;animation:1.3s cubic-bezier(.55,0,.35,1) both lid-top;position:absolute;left:-10%;right:-10%}.blink .lid.top{border-radius:0 0 50% 50%/0 0 22% 22%;top:0}.blink .lid.bottom{background:radial-gradient(at 50% 0,#6e0a08 0%,#2a0202 60%,#070000 100%);border-radius:50% 50% 0 0/22% 22% 0 0;animation-name:lid-bottom;bottom:0}@keyframes lid-top{0%{transform:translateY(-102%)}25%,48%{transform:translateY(0)}92%,to{transform:translateY(-102%)}}@keyframes lid-bottom{0%{transform:translateY(102%)}25%,48%{transform:translateY(0)}92%,to{transform:translateY(102%)}}@keyframes blink-red{0%{opacity:0}25%{opacity:.6}40%,52%{opacity:1}80%{opacity:.35}to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}body:after{display:none}}.end-anchor{height:96px}.quick .link.spent{opacity:.4}
