:root{--bg: #f5f9ff;--panel: #f5f9ff;--fg: #065ef7;--muted: #065ef7;--accent: #065ef7;--danger: #ff5c5c;--bar: #f5f9ff;--bar-fg: #065ef7;--border: #065ef7;--mono: "Gaisyr Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;color-scheme:light}@font-face{font-family:Gaisyr Mono;src:local("Gaisyr Mono"),url(/fonts/GaisyrMono-Regular.woff2) format("woff2"),url(/fonts/GaisyrMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gaisyr Mono;src:local("Gaisyr Mono Bold"),local("Gaisyr Mono"),url(/fonts/GaisyrMono-Bold.woff2) format("woff2"),url(/fonts/GaisyrMono-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:14px;line-height:1.45;text-shadow:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.lock-viewport,html.lock-viewport body{height:100%;height:100dvh;overflow:hidden}html.lock-viewport body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.lock-viewport .container{height:100%}html:not(.lock-viewport) .container{padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}button,input,textarea,select,pre,code{font-family:var(--mono)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:none;margin:0;padding:0}.grid{display:grid;gap:16px}@media(min-width:880px){.grid.cols-2{grid-template-columns:380px 1fr;align-items:start}}.muted{color:var(--muted)}.imgbox{display:flex;align-items:flex-start;justify-content:flex-start;width:100%;max-width:200px;height:200px}.retro-img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:top left;image-rendering:pixelated}.art{margin:0 0 10px;max-width:100%;overflow-x:auto;white-space:pre;color:var(--fg);line-height:1.1;font-size:12px}@media(max-width:720px){.art{display:none}.imgbox{max-width:120px;height:120px}}.float-window{position:fixed;z-index:40;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(720px,calc(100vw - 20px));height:auto;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border:2px solid var(--border);background:var(--panel);box-shadow:10px 10px #065ef72e;transform:skew(-10deg)}.float-window.is-front{border-color:var(--accent)}.float-titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 10px;background:var(--bar);color:var(--bar-fg);cursor:grab;user-select:none;touch-action:none}.float-window.is-dragging .float-titlebar{cursor:grabbing}.float-window.is-dragging iframe{pointer-events:none}.float-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:1.5rem}.float-controls{display:flex;gap:6px;align-items:center;flex-shrink:0;font-size:12px}.float-close{font-family:var(--mono);background:transparent;color:var(--bar-fg);border:1px solid var(--border);padding:2px 6px;cursor:pointer}.float-close:hover{border-color:var(--bar-fg)}.float-body{min-height:0;overflow:auto;background:var(--panel)}.float-body iframe{display:block;width:100%;height:1px;border:0;background:var(--panel)}.embed .imgbox,.embed .chip,.embed .meta>*,.embed .linkbox,.embed .desc,.embed .md>*,.embed .text p,.embed .art{position:relative;z-index:1;transform:translate(var(--jx, 0px),var(--jy, 0px))}.embed .linkbox{z-index:3}.embed .chip{display:inline-block}.embed a{position:relative;z-index:5}.cursor-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10000}@media(max-width:720px){.float-window{width:calc(100vw - 52px);max-width:calc(100vw - 52px);max-height:calc(100dvh - 72px);box-shadow:6px 6px #065ef72e}.float-titlebar{min-height:48px;padding:8px 10px}.float-name{font-size:1.05rem}.float-close{min-height:44px;min-width:44px;padding:8px 10px}}
