:root{--bg:#e7decd;--panel:#fbf4e6;--ink:#493e32;--muted:#80715e;--edge:#b9a58a;--accent:#e7b978;--white:#fffaf0}*{box-sizing:border-box}body{margin:0;padding:12px 12px 40px;background:var(--bg);color:var(--ink);font:15px/1.6 'Courier New',monospace;min-height:100vh}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:#76512f}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:9px 15px;border:2px solid;border-color:var(--white) #9c876d #9c876d var(--white);background:#ece1cf;color:var(--ink);text-decoration:none;cursor:pointer;font-weight:bold;line-height:1.35;box-shadow:1px 1px 0 #b9a58a;overflow-wrap:anywhere}button:hover,.button:hover{background:#f5e9d4}button:active,.button:active{border-color:#9c876d var(--white) var(--white) #9c876d;transform:translate(1px,1px)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);border-color:#ffe2aa #a67d4f #a67d4f #ffe2aa}.primary:hover{background:#efc78d}.stars{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#bea98c18 1px,transparent 1px),linear-gradient(#bea98c18 1px,transparent 1px);background-size:24px 24px}.window{background:var(--panel);border:2px solid;border-color:#fffdf5 #b09a7e #b09a7e #fffdf5;box-shadow:4px 4px 0 #cdbda4}.home-shell{max-width:760px;margin:0 auto}.hero{border-top:5px solid #c69c68}.hero-content{padding:30px 35px 28px;display:grid;grid-template-columns:175px minmax(0,1fr);gap:30px;align-items:center}.brand-logo{display:block;width:175px;max-width:100%;image-rendering:pixelated}.intro{min-width:0}h1{font-size:clamp(23px,3vw,30px);line-height:1.3;letter-spacing:-.8px;margin:0 0 14px;overflow-wrap:anywhere}h2{font-size:17px;margin:0}p{color:var(--muted)}.subtitle{font-size:14px;line-height:1.75;margin:0 0 22px;white-space:pre-line;overflow-wrap:anywhere}.intro .button{font-size:14px;max-width:100%;justify-content:space-between}.home-image{padding:0 30px 25px;text-align:center}.home-image img{display:block;max-width:100%;max-height:380px;width:auto;height:auto;margin:auto;border:2px solid #d8c9b3}.home-note{border-top:1px solid #dfd2bd;color:#8c795e;text-align:center;font-size:11px;padding:13px 20px;overflow-wrap:anywhere}.home-footer{text-align:center;font-size:11px;color:#8b7961;margin:20px 0 0;overflow-wrap:anywhere}.sound-toggle{position:fixed;right:12px;bottom:12px;min-height:36px;padding:7px 11px;font-size:11px;z-index:20;background:#f7eddb}.titlebar{background:#b38f65;color:#fff9ef;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:bold;gap:10px}.titlebar button{min-height:28px;padding:1px 8px}.pad{padding:24px}.login{max-width:460px;margin:0 auto}.login h1{margin-top:12px}.eyebrow{font-size:10px;letter-spacing:1px;color:var(--muted)}.statusbar{padding:8px 12px;font-size:10px;color:var(--muted);border-top:1px solid #dfd2bd}.error{color:#9b4935;font-size:13px}.error-code{font-size:72px;color:#b38f65}label{display:block;font-size:12px;font-weight:bold;margin-bottom:18px}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;margin-top:7px;background:#fffaf0;border:2px solid;border-color:#b9a58a #fffef9 #fffef9 #b9a58a;padding:10px;color:var(--ink);border-radius:0}input[type=checkbox]{accent-color:#a47d4d;width:18px;height:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{display:flex;align-items:center;gap:8px;margin-top:25px}.admin-shell{max-width:1100px;margin:0 auto}.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr)}aside{padding:18px 12px;border-right:1px solid #dacbb6;background:#f0e5d2}aside .button,aside>button{width:100%;margin-top:10px;font-size:11px}.nav{width:100%;justify-content:flex-start;margin-bottom:7px;font-size:11px;padding:10px 8px;box-shadow:none;background:transparent;border-color:transparent}.nav.active{background:#e0c8a6;border-color:#fff1d7 #baa181 #baa181 #fff1d7}.admin-main{padding:22px;min-width:0}.stats{display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid #dfd2bd;padding-bottom:12px;margin-bottom:23px}.stat{font-size:10px;color:var(--muted)}.stat b{font-size:15px;color:var(--ink);margin-right:6px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-head h1{font-size:25px;margin:0}.section-head p{font-size:12px}.route-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border-bottom:1px solid #dfd2bd;padding:16px 0}.route-path{font-size:19px;font-weight:bold;text-decoration:none;overflow-wrap:anywhere}.route-meta{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.actions button,.actions .button{font-size:11px;padding:6px 10px;min-height:34px}.pill{font-size:9px;padding:3px 6px;margin-left:8px;color:#606848;background:#e6e7d3}.pill.off{color:#8b7663;background:#ede0d3}.empty{padding:30px 10px;font-size:13px;color:var(--muted);text-align:center;border:1px dashed #c9b89d}.upload-box{padding:16px;border:1px dashed #c4ae8e;margin:20px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-box label{flex:1;min-width:180px;margin:0}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.media-card{min-width:0;padding-bottom:16px;border-bottom:1px solid #dfd2bd}.media-thumb{width:100%;height:140px;object-fit:contain;background:#e7dbc7}.media-name{font-size:12px;font-weight:bold;margin:9px 0;overflow-wrap:anywhere}.media-url{font-size:10px;overflow-wrap:anywhere;color:var(--muted)}.media-card .actions{margin-top:10px}.page[hidden]{display:none}dialog{padding:0;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;color:var(--ink)}dialog::backdrop{background:#46352288}#builder{border-top:1px solid #dfd2bd;border-bottom:1px solid #dfd2bd;padding:18px 0;margin-bottom:20px}#builder p{font-size:11px}.step{padding:12px;margin-top:12px;background:#efe3ce;border:1px solid #d4bea0}.step-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:12px}.step button{min-height:32px;padding:4px 10px}.step label{margin-bottom:0}.editor-actions{display:flex;flex-wrap:wrap;gap:10px}.danger{color:#974d3b}#toast{display:none;position:fixed;bottom:58px;right:12px;max-width:calc(100vw - 24px);z-index:100;padding:12px 18px;border:2px outset #fff4dc;background:#eee1c9;color:#57402a;font-size:13px}.player-shell{max-width:900px;margin:0 auto}.stage{background:#352f28;min-height:320px;display:flex;align-items:center;justify-content:center;padding:12px}.stage img,.stage video{max-width:100%;max-height:70vh}.player-info{padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.player-actions{display:flex;gap:10px}.progress{height:4px;background:#decdb2}.progress>div{height:100%;width:0;background:#b69060}.preview-banner{padding:12px;background:#e7cfaa;font-size:12px}.stage-message{color:#eee2d2;text-align:center;overflow-wrap:anywhere}#player-error{padding:15px;color:#974d3b}.footer-hint{font-size:11px}
@media(max-width:700px){body{padding:6px 6px 62px}.home-shell{width:100%}.hero-content{grid-template-columns:1fr;gap:14px;padding:22px 20px;text-align:center}.brand-logo{width:145px;margin:auto}.intro h1{font-size:24px}.subtitle{font-size:14px}.intro .button{width:100%;justify-content:center}.home-image{padding:0 16px 20px}.home-image img{max-height:360px}.home-note{font-size:10px;padding:11px 16px}.home-footer{margin:16px 10px}.admin-layout{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #dacbb6;padding:10px}nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.nav{margin:0;min-height:44px;justify-content:center;font-size:11px}aside>.button,aside>button{width:auto;margin:10px 8px 0 0;min-height:38px}.admin-main{padding:16px}.stats{gap:12px;margin-bottom:20px}.stat{flex:1 1 35%}.section-head{flex-wrap:wrap;align-items:center}.section-head h1{font-size:23px}.two{grid-template-columns:1fr;gap:0}.check{margin-top:0}.actions button,.actions .button{min-height:40px}.route-card{padding:16px 0}.media-grid{grid-template-columns:1fr 1fr;gap:12px}.media-thumb{height:120px}.media-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.media-card .actions button,.media-card .actions .button{padding:6px 4px;font-size:10px}input:not([type=checkbox]),textarea,select{font-size:16px;min-height:44px}.pad{padding:18px}.step label{margin-bottom:12px}.stage{min-height:240px;padding:6px}.player-info{font-size:11px}.sound-toggle{bottom:8px;right:8px;min-height:40px}.login{margin:0 auto}.editor-actions button{flex:1;font-size:12px}dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}}
@media(max-width:360px){.media-grid{grid-template-columns:1fr}.hero-content{padding:18px 14px}.intro h1{font-size:21px}.brand-logo{width:125px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
