:root{
  color-scheme:light;
  --paper:#eee1c8;--paper-hi:#fff3db;--paper-low:#d6c5a8;--ink:#322d28;--muted:#6f6255;
  --wine:#6b1839;--wine-dark:#3d1026;--plum:#82345e;--violet:#75506f;--copper:#9a5733;
  --gold:#d7a943;--gold-hi:#f3d77a;--moss:#2d6f54;--moss-dark:#153d32;--leaf:#68a85e;--aqua:#72c7bc;
  --field:#1d7b57;--field-hi:#63bd72;--line:#80664b;--shadow:#25180f2c;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:ui-rounded,"Trebuchet MS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
radial-gradient(circle at 15% 8%,#75b46f55,transparent 26rem),
linear-gradient(180deg,#315f4f 0 190px,#c3ad86 190px 100%)}
a{color:inherit}.shell{width:min(1120px,calc(100% - 28px));margin:auto;padding-bottom:48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 4px 14px;color:#fff8e9;text-shadow:0 2px 0 #153d32}.brand{font-size:1.5rem;font-weight:1000;letter-spacing:-.055em;text-decoration:none}.brand b{color:var(--gold-hi)}.navlinks{display:flex;gap:9px;flex-wrap:wrap}.navlinks a{text-decoration:none;border:1px solid #f5e7c955;border-radius:999px;padding:8px 12px;background:#183f35aa;font-weight:800;font-size:.85rem}.panel{background:linear-gradient(180deg,var(--paper-hi),var(--paper));border:3px solid var(--wine-dark);box-shadow:inset 0 0 0 2px #c18d55,0 7px 0 #2b1a14,0 12px 30px var(--shadow);border-radius:12px;overflow:hidden}.ribbon{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;color:#fff3dd;background:linear-gradient(180deg,#8e3e62,#611b3d);border-bottom:3px solid #3e1427;text-shadow:0 2px #35101f;font-weight:1000;letter-spacing:.03em}.ribbon small{font-size:.72rem;color:#f6d98a;text-transform:uppercase;letter-spacing:.16em}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin:10px 0 20px}.hero-copy{padding:34px 34px 30px;position:relative;background:
linear-gradient(135deg,#fff5deee,#ead8b8ee),repeating-linear-gradient(45deg,transparent 0 18px,#91684414 18px 20px)}.hero-copy:after{content:"";position:absolute;right:-45px;bottom:-70px;width:210px;height:210px;border:28px double #74472b18;border-radius:50%;transform:rotate(18deg)}.eyebrow{font-weight:1000;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--wine)}h1{font-size:clamp(3.1rem,8vw,7.2rem);line-height:.88;letter-spacing:-.075em;margin:16px 0 20px;max-width:780px}.accent{color:var(--moss)}.lede{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;color:#554a40;max-width:720px;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.btn,button{appearance:none;border:2px solid var(--wine-dark);background:linear-gradient(180deg,#8e3f5f,#5c1838);color:#fff6e6;padding:12px 17px;border-radius:9px;font:900 .96rem/1 ui-rounded,"Trebuchet MS",system-ui;box-shadow:0 3px 0 #35101f;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover,button:hover{filter:brightness(1.05)}.btn.secondary,button.secondary{background:linear-gradient(180deg,#f7e7c9,#d9c5a4);color:#3c3027;border-color:#73563b;box-shadow:0 3px 0 #65472e}.btn.green,button.green{background:linear-gradient(180deg,#4d9872,#235b45);border-color:#123d30;box-shadow:0 3px 0 #123d30}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.field-card{min-height:100%;background:radial-gradient(circle at 55% 25%,#8ccf78 0,#3e9a66 34%,#1c664e 70%,#164735);color:#fff7df;position:relative;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.field-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 28px,#f8d87612 28px 31px),radial-gradient(circle at 35% 28%,#d9f39a33 0 8%,transparent 9%);mix-blend-mode:screen}.field-card>*{position:relative}.sigil{width:84px;height:84px;border:7px double #f4d66e;border-radius:50%;display:grid;place-items:center;font-weight:1000;font-size:2rem;box-shadow:0 0 0 6px #6a2a4666;margin-bottom:auto}.field-card h2{font-size:2rem;margin:24px 0 6px}.field-card p{margin:0;color:#e8f5dd;line-height:1.5}.status-line{display:flex;align-items:center;gap:9px;margin-top:18px;font-weight:900}.orb{width:11px;height:11px;background:#b8ee75;border:2px solid #244c32;border-radius:50%;box-shadow:0 0 0 3px #e5f7ba44}.section{margin:20px 0}.section-title{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;margin:0 0 14px;color:#3d2520}.quest-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.quest{grid-column:span 4;background:linear-gradient(180deg,#fff0d5,#e3cfaa);border:2px solid #806247;border-radius:10px;padding:20px;box-shadow:0 4px 0 #89603b33;position:relative;overflow:hidden}.quest.wide{grid-column:span 8}.quest:after{content:"";position:absolute;right:-32px;bottom:-40px;width:115px;height:115px;border:18px solid #6c173912;border-radius:50%}.quest h3,.quest h2{margin:0 0 8px;letter-spacing:-.03em}.quest p{margin:0;color:var(--muted);line-height:1.55}.tagrow{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.tag{font:800 .78rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid #8b765f;border-radius:4px;background:#f8e9ce;padding:6px 8px;color:#5a4939}.tag.live{background:#d9eccb;border-color:#668858;color:#2c613f}.flow{white-space:pre;overflow:auto;margin-top:14px;padding:17px;border-radius:8px;border:2px solid #81674b;background:#342d2a;color:#fff0cd;font:700 .86rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:inset 0 0 0 2px #16110f}.api-box{background:#2a2726;color:#faebcd;border:2px solid #6d563f;border-radius:9px;overflow:hidden}.api-box .bar{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;background:#6b1839;color:#fff5dc;font-weight:900}.api-box pre{margin:0;max-height:380px;overflow:auto;padding:17px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d9f1cb}.footer{padding:30px 4px;color:#4f4036;font-size:.88rem}.footer a{font-weight:900}.mini-note{font-size:.83rem;color:#735f4c;line-height:1.45}.route-list{display:grid;gap:9px;margin-top:14px}.route{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid #aa8f6d;background:#f5e4c5;border-radius:7px}.route code{font-size:.78rem;color:#5a1837}.route strong{margin-left:auto;color:#326246;font-size:.78rem}
/* Soma surface */
.game-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(290px,1fr);gap:16px;align-items:start}.ds-frame{background:linear-gradient(180deg,#3f493f,#202922);padding:14px;border:3px solid #171d18;border-radius:16px;box-shadow:inset 0 0 0 3px #77816e,0 8px 0 #151b16}.screen-label{display:flex;justify-content:space-between;color:#ede0bf;font:800 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;margin:4px 3px 9px;text-transform:uppercase;letter-spacing:.12em}.screen{background:#0d120f;border:3px solid #101713;border-radius:6px;overflow:hidden}.screen+ .screen-label{margin-top:12px}.screen canvas{width:100%;height:auto;display:block;image-rendering:pixelated;touch-action:none}.control-deck{margin-top:12px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.dpad button,.face button,.shoulders button,.tiny-controls button{padding:0;min-width:44px;height:44px;border-radius:8px}.dpad .up{grid-column:2}.dpad .left{grid-column:1;grid-row:2}.dpad .right{grid-column:3;grid-row:2}.dpad .down{grid-column:2;grid-row:3}.tiny-controls{display:flex;gap:6px;flex-direction:column}.tiny-controls button{font-size:.66rem;height:32px}.face{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.face .x{grid-column:2}.face .y{grid-column:1;grid-row:2}.face .a{grid-column:3;grid-row:2}.face .b{grid-column:2;grid-row:3}.shoulders{display:flex;justify-content:space-between;margin-bottom:8px}.side-stack{display:grid;gap:14px}.form-card{background:linear-gradient(180deg,#fff1d6,#dfcaa7);border:2px solid #76583f;border-radius:10px;padding:16px}.form-card h3{margin:0 0 10px}.form-card label{display:block;font-size:.78rem;font-weight:1000;color:#5a4636;margin:11px 0 5px}.form-card input[type=text],.form-card input[type=password],.form-card input[type=file]{width:100%;border:2px solid #8d7559;border-radius:7px;background:#fff9eb;padding:10px;color:#302b26;font:700 .88rem system-ui}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bridge-state{display:flex;gap:9px;align-items:center;padding:10px;border:2px solid #7d674d;border-radius:7px;background:#f8e7c9;font-weight:900}.bridge-state.online{background:#d9eccb;border-color:#5d8255;color:#2b5c3f}.bridge-state.error{background:#f2c9bf;border-color:#9d544c;color:#742d2d}.runtime-summary{font:800 .82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;color:#42362d}.debug{margin-top:14px}.debug summary{cursor:pointer;font-weight:900}.debug pre{max-height:360px;overflow:auto;background:#211f1d;color:#d7f1c8;border-radius:8px;padding:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.monitor-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:14px}.monitor-hero{padding:22px;background:linear-gradient(160deg,#38694f,#1b4938);color:#fff0d3}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.metric{padding:13px;background:#fff0d6;border:2px solid #8d6c4e;border-radius:8px}.metric .k{font-size:.72rem;color:#715d4d;text-transform:uppercase;font-weight:1000;letter-spacing:.08em}.metric .v{font-size:1.35rem;font-weight:1000;margin-top:4px}.loot-card{padding:16px;background:#f4ddaa;border:3px double #8a563b;border-radius:9px}.loot-card.empty{opacity:.65}.loot-card .loot-name{font-size:1.5rem;font-weight:1000;color:#5d1838}.fresh{color:#285f3d}.stale{color:#8c5c21}.offline{color:#8c3333}
@media(max-width:850px){body{background:linear-gradient(180deg,#315f4f 0 130px,#c3ad86 130px 100%)}.navlinks{display:none}.hero{grid-template-columns:1fr}.field-card{min-height:300px}.hero-copy{padding:26px 22px}.quest,.quest.wide{grid-column:1/-1}.game-layout,.monitor-grid{grid-template-columns:1fr}.side-stack{order:-1}.control-deck{grid-template-columns:1fr auto 1fr;transform:scale(.92);transform-origin:center top;margin-bottom:-12px}.shell{width:min(100% - 16px,760px)}.topbar{padding-top:14px}h1{font-size:clamp(3.2rem,17vw,5.4rem)}}
@media(max-width:480px){.dpad,.face{grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px)}.dpad button,.face button{min-width:38px;height:38px}.control-deck{gap:5px}.split{grid-template-columns:1fr}.panel{border-width:2px}.ribbon{padding:9px 11px}.hero-copy{padding:22px 17px}}
