.shell{width:100%;max-width:var(--page);border:1px solid var(--edge);background:color-mix(in srgb, var(--bg) 92%, transparent);height:min(80vh,840px);box-shadow:0 0 0 1px color-mix(in srgb, var(--edge) 40%, transparent), 0 30px 90px -24px color-mix(in srgb, var(--accent) 22%, transparent), inset 0 1px 0 color-mix(in srgb, var(--accent) 12%, transparent);border-radius:8px;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.titlebar{border-bottom:1px solid color-mix(in srgb, var(--edge) 70%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent);letter-spacing:.06em;color:var(--dim);user-select:none;align-items:center;gap:12px;padding:9px 14px;font-size:12px;display:flex}.dots{gap:7px;display:flex}.dot{opacity:.85;border-radius:50%;width:10px;height:10px}.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}.titlebar .name{text-align:center;color:var(--text);opacity:.8;flex:1}.titlebar .stat{color:var(--dim);font-variant-numeric:tabular-nums}.titlebar .door{color:var(--dim);letter-spacing:.08em;border:1px solid color-mix(in srgb, var(--edge) 70%, transparent);border-radius:3px;padding:2px 8px;font-size:11.5px;text-decoration:none;transition:color .12s,border-color .12s}.titlebar .door:hover{color:var(--accent);border-color:var(--accent)}#term{flex:1;min-height:0;padding:8px 10px 4px;position:relative}#term .xterm{height:100%}.term-skeleton{pointer-events:none;user-select:none;color:var(--dim);padding:8px 10px 4px;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:14px;line-height:1.45;position:absolute;inset:0}.term-skeleton p{margin:0}.term-skeleton .ps1{color:var(--text)}.term-skeleton .caret{vertical-align:text-bottom;background:var(--accent);width:8px;height:1.05em;margin-left:4px;animation:1.05s step-end infinite skeleton-caret;display:inline-block}.term-skeleton .note{color:var(--dim-2);margin-top:6px}@keyframes skeleton-caret{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.term-skeleton .caret{animation:none}}.hint{max-width:var(--page);letter-spacing:.05em;color:var(--dim);flex-wrap:wrap;justify-content:center;gap:18px;margin:12px auto 0;font-size:11.5px;display:flex}.hint kbd{border:1px solid color-mix(in srgb, var(--edge) 80%, transparent);font:inherit;color:var(--text);border-bottom-width:2px;border-radius:3px;padding:1px 5px}.hint code{color:var(--text)}.hint a{color:var(--text);border-bottom:1px dashed;text-decoration:none}.suggest{border-top:1px solid color-mix(in srgb, var(--edge) 60%, transparent);background:linear-gradient(0deg, color-mix(in srgb, var(--accent) 6%, transparent), transparent);color:var(--dim);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 12px;font-size:12px;display:flex}.suggest .lead{letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--dim) 80%, transparent);font-size:10.5px}.suggest button,.suggest a{font:inherit;color:var(--text);border:1px solid color-mix(in srgb, var(--edge) 55%, transparent);cursor:pointer;background:0 0;border-radius:3px;padding:3px 9px;font-size:12px;text-decoration:none;transition:color .12s,border-color .12s,background .12s}.suggest button:hover,.suggest a:hover{color:var(--bg);background:var(--accent);border-color:var(--accent)}.suggest .dismiss{color:color-mix(in srgb, var(--dim) 70%, transparent);border-color:#0000;margin-left:auto;font-size:11px}.suggest .dismiss:hover{color:var(--text);background:0 0}.suggest[hidden]{display:none}.editor-layer{background:color-mix(in srgb, var(--bg) 97%, #000);z-index:5;flex-direction:column;display:none;position:absolute;inset:0}.editor-layer.on{display:flex}.editor-bar{letter-spacing:.06em;border-bottom:1px solid color-mix(in srgb, var(--edge) 90%, transparent);color:var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.editor-bar .path{color:var(--text)}.editor-bar .flag{color:var(--dim)}.editor-mounts{flex:1;min-height:0;display:flex}.editor-mount{flex:1;min-height:0;display:none;overflow:auto}.editor-mount.on{display:block}.editor-mount .cm-editor{background:0 0;height:100%}.editor-mount .cm-scroller{font-family:var(--mono);font-size:14px;line-height:1.5}.editor-mount .cm-gutters{border-right:1px solid color-mix(in srgb, var(--edge) 40%, transparent);color:var(--dim);background:0 0}.cm-vim-panel,.cm-vim-panel input{color:var(--accent)!important;background:0 0!important;font-family:inherit!important}.editor-foot{color:var(--dim);border-top:1px solid color-mix(in srgb, var(--edge) 50%, transparent);justify-content:space-between;gap:12px;padding:6px 14px;font-size:11.5px;display:flex}.editor-foot .save{color:var(--accent)}@media (width<=680px){main.frame.is-shell{padding:0}.shell{border:0;border-radius:0;max-width:none;height:100dvh}.hint{display:none}#term{padding:6px}.suggest{gap:6px;padding:8px 10px}.suggest button,.suggest a{padding:3px 7px;font-size:11.5px}}body:after{content:"";pointer-events:none;z-index:50;opacity:0;background:repeating-linear-gradient(#00000038 0 1px,#0000 1px 3px);transition:opacity .16s;position:fixed;inset:0}body[data-scanlines=on]:after{opacity:1}@media (prefers-reduced-motion:reduce){body:after{display:none}}@media (width<=680px){.shell{height:calc(100dvh - 132px)}}.writing{margin-top:56px}.writing-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;display:flex}.writing-head h2{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin:0;font-size:12px;font-weight:400}.writing-head .count{color:var(--dim-2);font-size:12px}.rows{margin:0;padding:0;list-style:none}.row{grid-template-columns:var(--gutter) minmax(0, 1fr);border-bottom:1px solid var(--line);color:inherit;align-items:baseline;gap:4px 18px;padding:16px 0;text-decoration:none;display:grid}.row:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.row .date{color:var(--dim);font-variant-numeric:tabular-nums;font-size:13px}.row .row-body{flex-direction:column;gap:3px;min-width:0;display:flex}.row .title{color:var(--bright);font-size:16.5px;text-decoration:none}.row:hover .title{color:var(--accent)}.row .meta{color:var(--dim-2);letter-spacing:.02em;font-size:11.5px}.row .desc{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:13px;line-height:1.55;overflow:hidden}[data-hidden]{display:none}.more{width:100%;font:inherit;letter-spacing:.16em;text-transform:uppercase;color:var(--text);border:1px dashed var(--edge);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin:18px 0 0;padding:14px 16px;font-size:12px;transition:color .12s,background .12s,border-color .12s;display:flex}.more:hover,.more:focus-visible{color:var(--bg);background:var(--accent);border-color:var(--accent);border-style:solid;outline:none}.more[hidden]{display:none}@media (width<=680px){.writing{margin-top:40px}.row{grid-template-columns:10.5ch minmax(0,1fr)}}.writing{scroll-margin-top:24px}.writing.arrived h2{animation:1.1s both writing-arrive}.writing.arrived .count{animation:1.1s both writing-arrive-dim}@keyframes writing-arrive{0%{color:var(--accent)}to{color:var(--dim)}}@keyframes writing-arrive-dim{0%{color:var(--accent)}to{color:var(--dim-2)}}@media (prefers-reduced-motion:reduce){.writing.arrived h2,.writing.arrived .count{animation:none}}
