html,body,#app{height:100%;height:100dvh}html{min-height:-webkit-fill-available;-webkit-text-size-adjust:100%}body{position:fixed;inset:0;width:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#0b0910;color:#f2ede0;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Heiti SC,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:absolute;inset:0;display:grid;place-items:center;box-sizing:border-box;overflow:hidden;touch-action:none;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}#screen{overflow:hidden;background:#0b0910}#phone,#screen,#screen canvas{touch-action:none}#screen canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;user-select:none;-webkit-user-select:none}#turn{position:fixed;inset:0;z-index:8;display:none;place-items:center;padding:24px;background:#0b0910;color:#f2ede0;font-size:16px;text-align:center}#turn:not([hidden]){display:grid}.boot-error{margin:24px;font-size:14px;line-height:1.5}.dev-chip{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:20;padding:10px 3px 10px 2px;border:1px solid rgba(201,162,212,.22);border-left:none;border-radius:0 6px 6px 0;background:#1812206b;color:#e8d6b473;font:600 9px/1 SF Mono,Menlo,Consolas,monospace;letter-spacing:.12em;writing-mode:vertical-rl;cursor:pointer;touch-action:manipulation;backdrop-filter:blur(3px)}.dev-chip.on{color:#e8d6b4;border-color:#c9a2d499;background:#3c2c4cb3}.dev-panel{position:fixed;left:0;right:0;bottom:0;height:48vh;z-index:21;display:flex;flex-direction:column;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-sizing:border-box;background:#0b0910d1;backdrop-filter:blur(8px);border-top:1px solid rgba(242,237,224,.18);color:#f2ede0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;font-size:12px;transition:height .16s ease}.dev-panel.tall{height:92vh}.dev-panel[hidden]{display:none}.dev-head{display:flex;align-items:baseline;gap:10px;flex:none}.dev-title{font-size:15px;font-weight:700;color:#e8d6b4;letter-spacing:.06em}.dev-count{color:#c9a2d4bf;font-size:11px}.dev-close{margin-left:auto;padding:5px 12px;border:1px solid rgba(201,162,212,.4);border-radius:6px;background:#3c2c4c8c;color:#e8d6b4;font-size:12px;cursor:pointer}.dev-tabs,.dev-stage,.dev-owner{display:flex;flex-wrap:wrap;gap:6px;flex:none}.dev-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid rgba(201,162,212,.22);border-radius:6px;background:#241c2eb3;color:#f2ede0b8;font-size:12px;cursor:pointer}.dev-tab i{font-style:normal;font-size:10px;color:#c9a2d499}.dev-tab.on{border-color:#c9a2d4b3;background:#583e6e99;color:#f2ede0}.dev-tab.on i{color:#e8d6b4}.dev-pill{padding:4px 9px;border:1px solid rgba(201,162,212,.18);border-radius:20px;background:#1c1624bd;color:#f2ede099;font-size:11px;cursor:pointer}.dev-pill.on{border-color:#e8d6b4a6;background:#78583c80;color:#e8d6b4}.dev-jump{display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px;border-bottom:1px solid rgba(201,162,212,.14);background:#d8402c0f}.dev-jump-label{font-size:11px;letter-spacing:1px;color:#e8b13ce6}.dev-jump-row{display:flex;flex-wrap:wrap;gap:6px}.dev-pill.boss{border-color:#d8402c8c;color:#f0a89a}.dev-pill.boss:hover{background:#d8402c47;color:#fff2ea}.dev-pill.grant{border-color:#78c8a073;color:#9fd8be}.dev-pill:hover{background:#503c60cc;color:#f2ede0}.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;align-content:start}.dev-grid.design{display:flex;flex-direction:column;flex-wrap:nowrap;gap:10px}.dev-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:none}.dev-filter>b{font-size:11px;font-weight:500;color:#c9a2d4b8;margin-right:2px}.dev-grp{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;flex:none}.dev-grp-head{display:flex;flex:1 1 100%;align-items:baseline;gap:8px;padding-bottom:2px;border-bottom:1px solid rgba(201,162,212,.16)}.dev-grp-head b{font-size:12px;font-weight:500;color:#e8d6b4}.dev-grp-head i{font-style:normal;font-size:11px;color:#c9a2d499}.dev-card{display:flex;flex-direction:column;gap:3px;padding:6px;border:1px solid rgba(201,162,212,.16);border-radius:7px;background:#1a1422cc;cursor:pointer;text-align:left;color:inherit;font:inherit}.dev-card img{width:100%;aspect-ratio:1;object-fit:contain;image-rendering:pixelated;background:repeating-conic-gradient(rgba(255,255,255,.03) 0% 25%,transparent 0% 50%) 0 0 / 12px 12px;border-radius:4px}.dev-card span{font-size:10px;line-height:1.25;color:#f2ede0d1;word-break:break-all}.dev-card i{font-style:normal;font-size:9px;color:#c9a2d48c}.dev-empty{grid-column:1 / -1;padding:24px 0;color:#f2ede066;text-align:center}.dev-hangar-table{flex:1;min-width:0;font-size:10px;line-height:1.7;color:#f2ede0b3}.dev-hangar-head,.dev-hangar-row{display:grid;grid-template-columns:1fr 46px 22px 28px 1fr;gap:4px;white-space:nowrap;overflow:hidden}.dev-hangar-head{color:#c9a2d48c;border-bottom:1px solid rgba(201,162,212,.16);padding-bottom:2px;margin-bottom:2px}.dev-hangar-row>span:first-child{overflow:hidden;text-overflow:ellipsis}.dev-hangar-note{margin-top:6px;color:#c9a2d480;line-height:1.5}.dev-zoom{position:fixed;inset:0;z-index:22;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:#06040ae6;cursor:zoom-out}.dev-zoom[hidden]{display:none}.dev-zoom img{max-width:92vw;max-height:78vh;image-rendering:pixelated;border:1px solid rgba(201,162,212,.25);border-radius:6px;background:repeating-conic-gradient(rgba(255,255,255,.04) 0% 25%,transparent 0% 50%) 0 0 / 16px 16px}.dev-zoom-meta{font:11px/1.4 SF Mono,Menlo,Consolas,monospace;color:#e8d6b4cc;text-align:center;word-break:break-all}.dev-compare{display:flex;flex-direction:column;gap:10px;flex:none}.dev-compare[hidden]{display:none}.dev-compare-row{display:flex;flex-direction:column;gap:4px}.dev-compare-head{display:flex;align-items:baseline;gap:8px;font-size:12px}.dev-compare-head b{color:#e8d6b4;font-size:13px}.dev-compare-head span{color:#c9a2d4b3;font-size:11px}.dev-strip{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px}.dev-strip-cell{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;height:32vh;padding:3px;border:1px solid rgba(201,162,212,.16);border-radius:6px;background:repeating-conic-gradient(rgba(255,255,255,.035) 0% 25%,transparent 0% 50%) 0 0 / 12px 12px,#16111ee6;cursor:pointer;color:#f2ede0bf}.dev-strip-cell img{height:calc(32vh - 22px);width:auto;object-fit:contain;image-rendering:pixelated}.dev-strip-cell span{font-size:10px;letter-spacing:.04em}.dev-strip-cell.empty{justify-content:center;min-width:76px;border-style:dashed;border-color:#c9a2d447;background:#140f1abf;color:#f2ede059;cursor:default}#jk-debug{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:100%;display:flex;flex-direction:column;background:#0f0c16;border-top:1px solid rgba(201,162,212,.25);color:#ede8dc}.dbg-controls{flex:1;min-height:0;overflow:auto;padding:8px 12px 12px;display:flex;flex-direction:column;gap:6px}.dbg-group{display:flex;gap:8px;align-items:flex-start}.dbg-group>b{flex:none;width:30px;padding-top:3px;font-size:11px;font-weight:500;color:#c9a2d4b3}.dbg-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}.dbg-tag{padding:2px 9px;border:1px solid rgba(201,162,212,.22);border-radius:13px;background:#1c1624e6;color:#f2ede09e;font-size:11px;line-height:16px;cursor:pointer;white-space:nowrap}.dbg-tag:hover{background:#503c60cc;color:#f2ede0}.dbg-tag.on{border-color:#e8d6b4b3;background:#78583c9e;color:#f7ecd2}.dbg-close{align-self:flex-end;margin-top:2px;padding:3px 14px;border:1px solid rgba(216,64,44,.5);border-radius:14px;background:#d8402c2e;color:#f0a89a;font-size:12px;cursor:pointer}
