:root{--paper:#f3eee4;--paper-2:#e9e2d3;--ink:#1c1a17;--muted:#6e675a;--line:#d3c9b5;--accent:#c9432a;--serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;background-color:var(--paper);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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11 0 0 0 0 .10 0 0 0 0 .09 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.shell{max-width:1040px;margin:0 auto;padding:calc(env(safe-area-inset-top, 0px) + 16px) 18px calc(env(safe-area-inset-bottom, 0px) + 112px)}.top{justify-content:space-between;gap:12px}.brand,.top{display:flex;align-items:center}.brand{gap:10px;font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:-.01em}.meta{display:flex;align-items:center;gap:8px;font:500 .66rem/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:right}.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.1s ease-in-out infinite}.lede{margin:26px 0 24px;font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,7.2vw,3.1rem);line-height:1.06;letter-spacing:-.025em}.banner{margin:0 0 14px;padding:11px 14px;border-left:3px solid var(--accent);background:#f0dcd3;font-size:.92rem}.cols{display:grid;grid-gap:28px;gap:28px}.frame{position:relative;padding:12px}.frame:before{content:"";position:absolute;inset:0;pointer-events:none;--c:var(--ink);--l:20px;--w:2px;background:linear-gradient(var(--c),var(--c)) 0 0 /var(--l) var(--w) no-repeat,linear-gradient(var(--c),var(--c)) 0 0 /var(--w) var(--l) no-repeat,linear-gradient(var(--c),var(--c)) 100% 0 /var(--l) var(--w) no-repeat,linear-gradient(var(--c),var(--c)) 100% 0 /var(--w) var(--l) no-repeat,linear-gradient(var(--c),var(--c)) 0 100% /var(--l) var(--w) no-repeat,linear-gradient(var(--c),var(--c)) 0 100% /var(--w) var(--l) no-repeat,linear-gradient(var(--c),var(--c)) 100% 100% /var(--l) var(--w) no-repeat,linear-gradient(var(--c),var(--c)) 100% 100% /var(--w) var(--l) no-repeat}.frame.busy:before{--c:var(--accent);animation:pulse 1s ease-in-out infinite}.plate{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--paper-2);display:grid;place-items:center;transition:background .15s}.plate.drag{background:#e2d9c6}.plate img{width:100%;height:100%;object-fit:cover;display:block}.empty{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:20px;text-align:center;color:var(--muted)}.empty svg{margin-bottom:8px;opacity:.75}.e1,.empty svg{color:var(--ink)}.e1{font-family:var(--serif);font-size:1.25rem}.e1,.e2{margin:0}.e2{font:500 .66rem/1.2 var(--mono);letter-spacing:.09em}.e2,.veil{text-transform:uppercase}.veil{position:absolute;inset:0;display:grid;place-items:center;background:hsla(40,38%,92%,.72);font:500 .8rem var(--mono);letter-spacing:.1em}.caption{margin:6px 12px 0;font-size:.82rem;color:var(--muted)}.actions{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;gap:10px;padding:16px 18px calc(env(safe-area-inset-bottom, 0px) + 14px);background:linear-gradient(to top,var(--paper) 62%,hsla(40,38%,92%,0))}.btn{flex:1 1;height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 1rem var(--sans);letter-spacing:.005em;border-radius:12px;cursor:pointer;border:1.5px solid var(--ink);background:transparent;color:var(--ink);transition:transform .08s,background .15s,color .15s}.btn.cam{background:var(--ink);color:var(--paper)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default}.file,.t-fine{display:none}.label{padding:0 0 22px;border-bottom:1.5px solid var(--ink);animation:rise .35s ease both}.kicker{margin:0 0 6px;font:500 .7rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.name{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,11vw,4.2rem);line-height:1;letter-spacing:-.03em}.name.idle{color:#b9b0a0}.sub{margin:10px 0 0;color:var(--muted);max-width:34em}.bars{margin-top:18px;grid-gap:9px;gap:9px}.bars,.row{display:grid}.row{grid-template-columns:82px 1fr 38px;align-items:center;grid-gap:10px;gap:10px;font-size:.92rem;color:var(--muted)}.row.top{color:var(--ink);font-weight:600}.row em{font:500 .8rem var(--mono);font-style:normal;text-align:right}.bar{height:4px;background:var(--line)}.bar,.bar i{display:block}.bar i{height:100%;background:var(--muted);transform-origin:left;animation:grow .7s cubic-bezier(.2,.7,.2,1) both}.row.top .bar i{background:var(--accent)}.h{margin:28px 0 10px;font:500 .7rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.grid{grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.grid,.tile{display:grid}.tile{position:relative;justify-items:center;grid-gap:6px;gap:6px;padding:18px 2px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s,color .2s,opacity .2s}.tile small{position:absolute;top:5px;left:6px;font:500 .55rem var(--mono);color:var(--muted);letter-spacing:.05em}.tile span{font:500 .6rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.grid.has-on .tile:not(.on){opacity:.38}.tile.on{background:var(--accent)}.tile.on,.tile.on small{color:var(--paper)}.notes{display:grid;grid-gap:4px;gap:4px}.notes ul{margin:0;padding:0;list-style:none}.notes li{padding:7px 0;border-bottom:1px solid var(--line)}.notes li:first-child{border-top:1px solid var(--line)}.notes p{margin:0;color:var(--ink)}.foot{margin-top:34px;font:500 .66rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}@keyframes pulse{50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (hover:hover) and (pointer:fine){.btn.cam{display:none}.btn.gal{background:var(--ink);color:var(--paper)}.btn.gal:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.t-touch{display:none}.t-fine{display:inline}.tile:hover{background:var(--paper-2)}.tile.on:hover{background:var(--accent)}}@media (min-width:880px){.shell{padding:30px 32px 56px}.lede{margin:44px 0 40px;max-width:14em}.cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.left{position:-webkit-sticky;position:sticky;top:28px}.actions{position:static;padding:18px 12px 0;background:none}.btn{max-width:340px}.label{padding-top:6px}.notes{grid-template-columns:1fr 1fr;gap:28px}.tile{padding:22px 2px 12px}.tile span{font-size:.64rem}.row{grid-template-columns:96px 1fr 44px}}@media (max-width:360px){.row{grid-template-columns:70px 1fr 36px}.tile span{font-size:.56rem;letter-spacing:.03em}}