:root{color-scheme:dark;--mint:#ffd18e;--ink:#fff1dc;--muted:#ffd18e;--amber:#efc48b}*{box-sizing:border-box}body{margin:0;background:#3c203b;color:var(--ink);font-family:Arial,sans-serif}button{font:inherit;cursor:pointer;color:inherit;background:#61334b;border:1px solid #93566a;border-radius:9px;padding:12px 17px;touch-action:manipulation}button:hover{border-color:var(--mint)}button:disabled{opacity:.5;cursor:default}button:focus-visible,canvas:focus-visible{outline:3px solid var(--amber);outline-offset:2px}[hidden]{display:none!important}main{max-width:1320px;margin:auto;padding:0 24px}header{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand img{object-fit:contain}small,.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:var(--muted)}h1{font-size:25px;letter-spacing:-1px;margin:5px 0 0}h1 span{color:var(--mint)}.shell{border:1px solid #93566a;border-radius:13px;overflow:hidden;background:#61334b}.dashboard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px}.dashboard h2{font-size:20px;margin:5px 0 0;letter-spacing:-.5px}.stats{display:flex;gap:30px;text-align:right}.stats strong{display:block;font-size:23px;margin-top:5px}#time.urgent{color:#f2b080}.play-area{position:relative;display:flex;align-items:center;justify-content:center;height:min(53vw,650px);min-height:330px;background:#61334b;overflow:hidden}.stage{position:relative}canvas{display:block;width:100%;height:100%;touch-action:none}.route-guide{position:absolute;inset:15px 20px auto;display:flex;justify-content:space-between;gap:12px;pointer-events:none;color:#fff1dc;text-shadow:0 1px 8px #61334b;font-size:9px;font-weight:700;letter-spacing:1px}.toast{position:absolute;top:29%;left:10%;right:10%;text-align:center;pointer-events:none;font-size:clamp(18px,3vw,32px);font-weight:900;color:#fff1dc;text-shadow:0 2px 12px #61334b;opacity:0;transform:translateY(8px);transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translateY(0)}.controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px}.movement,.actions{display:flex;gap:9px}.movement button{width:64px;min-height:56px;padding:12px}.movement svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none}.actions button{width:115px;min-height:56px;font-weight:700}.actions small{display:block;font-size:7px;letter-spacing:.8px;margin-top:6px}.primary{background:var(--mint);color:#61334b;border-color:var(--mint);font-weight:700}.primary small{color:#93566a}.parcel{text-align:center}.parcel strong{display:block;font-size:21px;margin-top:4px}.parcel>span{display:block;color:#ffd18e;font-size:8px;letter-spacing:1px;margin-top:5px}.controls button{touch-action:none;-webkit-user-select:none;user-select:none}.overlay{position:absolute;inset:0;z-index:5;background:#3c203bef;display:flex;align-items:center;overflow:auto}.menu{width:100%;padding:30px 6%;display:grid;grid-template-columns:1.08fr 1fr;gap:5%;align-items:center}.menu h2{font-size:clamp(36px,5vw,69px);letter-spacing:-2.5px;line-height:.98;margin:20px 0}.menu h2 em{font-style:normal;color:var(--mint)}.menu p{font-size:13px;line-height:1.65;color:#ffd18e}.difficulties{display:flex;gap:8px;margin:18px 0 12px}.difficulties button{flex:1;padding:12px 6px;font-size:12px}.difficulties small{display:block;font-size:7px;letter-spacing:.7px;margin-top:5px}.difficulties [aria-pressed=true]{background:var(--mint);color:#61334b;border-color:var(--mint)}.difficulties [aria-pressed=true] small{color:#93566a}.menu .primary{width:100%;display:flex;justify-content:space-between}.secondary{margin-top:9px}.menu .howto{font-size:10px;line-height:1.6}.menu .record{font-size:9px;color:#e5cb95;letter-spacing:1px}.menu-art img{width:100%;border-radius:12px}.menu-art span{display:block;font-size:9px;letter-spacing:1.7px;color:#ffd18e;margin-top:15px}footer{display:flex;justify-content:space-between;color:#e1b5aa;font-size:10px;padding:14px 0}.loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;background:#61334b}.loading img{object-fit:contain}.loading>span{font-size:11px;letter-spacing:4px}.loading>div{width:100px;height:2px;background:var(--mint);animation:load 1s ease-in-out infinite}.loading small{position:absolute;bottom:28px;font-size:10px;letter-spacing:.5px}@keyframes load{50%{transform:scaleX(.3);opacity:.4}}@media(max-width:650px){main{padding:0 8px}header{height:58px}.brand{gap:9px}.brand img{width:25px;height:31px}.brand small{font-size:7px;letter-spacing:1px}h1{font-size:20px}header button{padding:10px 12px;font-size:12px}.dashboard{padding:10px 12px}.dashboard h2{font-size:15px}.dashboard small{font-size:7px;letter-spacing:.8px}.stats{gap:13px}.stats strong{font-size:17px}.play-area{height:calc(100svh - 245px);min-height:330px}.route-guide{inset:12px 12px auto;font-size:7px;letter-spacing:.5px}.controls{padding:11px 9px;gap:8px}.movement,.actions{gap:6px}.movement button{width:42px;padding:9px;min-height:54px}.actions button{width:69px;padding:10px 5px;font-size:13px}.actions small{font-size:6px;letter-spacing:.2px}.parcel small{font-size:6px;letter-spacing:.4px}.parcel strong{font-size:16px}.parcel>span{font-size:6px;letter-spacing:0}.menu{display:block;padding:25px}.menu h2{font-size:43px;margin:14px 0}.menu p{font-size:12px}.menu .howto{font-size:9px}.menu .record{font-size:8px}.menu-art{display:none}.difficulties{margin:12px 0}.difficulties button{padding:10px 5px}footer{font-size:8px;padding:12px 0}footer span:last-child{display:none}}@media(max-width:360px){h1{font-size:18px}.dashboard{padding:9px}.stats{gap:9px}.dashboard h2{font-size:13px}.stats strong{font-size:15px}.movement button{width:37px}.actions button{width:59px}.controls{padding:10px 7px}.parcel small{font-size:5px}.parcel>span{display:none}.menu{padding:19px}.menu h2{font-size:35px}.menu .howto{font-size:8px}}@media(max-height:500px) and (min-width:651px){header{height:52px}.dashboard{padding:8px 15px}.play-area{height:calc(100svh - 205px);min-height:220px}.controls{padding:9px 15px}.controls button{min-height:43px}.menu{padding:15px 5%}.menu h2{font-size:33px;margin:9px 0}.menu .howto,.menu-art span{display:none}.menu p{font-size:11px}.difficulties{margin:9px 0}}@media(prefers-reduced-motion:reduce){.loading>div{animation:none}.toast{transition:none}}
@media(min-width:651px){.play-area{height:min(53vw,calc(100svh - 285px))}}

/* rooftop-courier: independent visual identity, shared studio only. */
:root{color-scheme:dark;--bg:#3c203b;--panel:#61334b;--line:#93566a;--muted:#e1b5aa;--text:#fff1dc;--mint:#ffd18e;--gold:#ffd18e;--peach:#ffd18e;--cyan:#ffd18e;--accent:#ffd18e;--light:#61334b;--dark:#93566a}
body{background:#3c203b;color:#fff1dc;font-family:"Trebuchet MS", sans-serif}
h1,h2,h3{font-family:"Trebuchet MS", sans-serif}
button{border-radius:5px}
.overlay,.veil{background:#3c203bed;color:#fff1dc;backdrop-filter:none}
.menu,.menu-card,.card,.panel{color:#fff1dc}
.primary,.primary-button,.launch{background:#ffd18e;color:#3c203b;border-color:#ffd18e}
.primary:hover,.primary-button:hover,.launch:hover{background:#ffd18e;filter:brightness(1.1)}
button[aria-pressed=true]{border-color:#ffd18e}
