*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#201d2b;color:#f6e7d1;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b3e5cd;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}button:active{transform:translateY(2px)}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#adventure{position:relative;width:100%;height:100dvh;display:flex;flex-direction:column;isolation:isolate}.adventure-header{height:62px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;z-index:5;background:#282333}.adventure-header>div{display:flex;gap:9px}.ellie-logo{display:inline-flex;align-items:center;font-size:33px;font-weight:900;font-style:italic;letter-spacing:-.085em;padding:4px 9px 5px 4px;line-height:1.15;text-shadow:2px 3px #1a112b}.ellie-logo i{display:block;width:7px;height:7px;background:#dfa6a9;transform:rotate(-12deg);margin:15px 0 0 8px}.round-button{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #bda8bd55;border-radius:7px;background:#393046;color:#efe2e8;font-size:25px}.round-button[aria-pressed=true]{color:#b7e8cf;border-color:#9bbbab}#hud{height:40px;flex-shrink:0;display:flex;align-items:center;gap:22px;padding:0 24px;background:#282333;letter-spacing:1px;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}#hearts{color:#e9a3b1;letter-spacing:4px;font-size:20px}#score{color:#f3d298}#score.bump{animation:score-pop .26s ease-out}.sketch-count{font-size:14px;color:#c7dccc}.sketch-count>span{font-size:21px}#stage-number{margin-left:auto;font-size:12px;color:#c2b3ce}#stage-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:#1e2030}#world{display:block;width:100%;height:100%;touch-action:none;outline:none}#moment{position:absolute;top:17px;left:50%;transform:translate(-50%,-10px);opacity:0;transition:opacity .2s,transform .2s;background:#2d2933eb;padding:9px 16px;color:#d9e6cb;border:1px solid #bb9baf;border-radius:4px;font-size:13px;pointer-events:none;white-space:nowrap}#moment.show{opacity:1;transform:translate(-50%,0)}#controls{height:100px;flex-shrink:0;position:relative;background:linear-gradient(180deg,#2f293c,#252131);display:flex;align-items:center;justify-content:space-between;padding:6px max(22px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));gap:16px;border-top:2px solid #645268;box-shadow:0 -4px 12px #100d2022}
#controls:before{content:"";position:absolute;inset:5px 12px auto;border-top:1px dashed #b49baf44;pointer-events:none}
.directions{display:flex;gap:2px;position:relative}.directions:before{content:"";position:absolute;inset:6px 2px 0;background:#171322;border-radius:27px 24px 20px 28px;box-shadow:0 1px #ac87a629}
#controls button{position:relative;display:block;padding:0;background:none;border:0;box-shadow:none;width:80px;height:80px;min-width:64px;touch-action:none;border-radius:24px;transition:filter .08s}
#controls button:active{transform:none}.pad-art{display:block;width:100%;height:100%;overflow:visible;pointer-events:none;transition:transform .075s ease-out;filter:drop-shadow(1px 2px 1px #100d2070)}
.pad-shadow{fill:#191324;stroke:#13111e;stroke-width:2}.pad-face{fill:#756185;stroke:#b49aae;stroke-width:1.8;transition:fill .08s}.pad-seam{fill:none;stroke:#d4b9c588;stroke-width:1;stroke-dasharray:3 4;stroke-linecap:round}.pad-highlight{fill:none;stroke:#eccecb50;stroke-width:2;stroke-linecap:round}.pad-arrow-shadow{fill:#3a2b4a}.pad-arrow{fill:#e8d6c2;stroke:#f8e8d633;stroke-width:1;stroke-linejoin:round}.pad-thread{fill:none;stroke:#dec5c699;stroke-width:1;stroke-linecap:round}
#controls button.held .pad-art{transform:translateY(4px) scale(.965);filter:drop-shadow(0 0 7px #c9a5d644)}#controls button.held .pad-face{fill:#ac87b5}#controls button.held .pad-arrow{fill:#fff2ce}
#controls #jump{width:86px;height:86px;border-radius:50%}#jump .pad-face{fill:#a6cdb9;stroke:#daead0}#jump .pad-seam{stroke:#45666b88}#jump .pad-highlight{stroke:#eef2cf77}#jump .pad-arrow{fill:#354750;stroke:#34424f}#jump .pad-arrow-shadow{fill:#739b90}.launch-streak{fill:none;stroke:#527577;stroke-width:2;stroke-linecap:round}#controls #jump.held .pad-face{fill:#cff3d6}#controls #jump.held .pad-arrow{fill:#283d47}#jump.held .launch-streak{stroke:#42615e}
.control-thread{display:flex;gap:6px;align-items:center;opacity:.4}.control-thread:before,.control-thread:after{content:"";width:25px;border-top:1px dashed #c8aebf}.control-thread i{width:3px;height:3px;border-radius:50%;background:#dabccd}.control-thread i:nth-child(2){width:5px;height:5px;background:#bddbc7}
.screen{position:absolute;inset:62px 0 0;z-index:4}.entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 20px 20px;background:linear-gradient(90deg,#19172477,#201b2966,#19172477)}.tiny-label{font-size:10px;letter-spacing:4px;color:#e0c0ba;font-weight:700}.title-block{text-align:center;filter:drop-shadow(3px 4px 0 #1d142c)}h1{font-size:clamp(44px,7.8vh,83px);line-height:.83;letter-spacing:-.055em;font-style:italic;font-weight:900;margin:13px 0 15px;transform:rotate(-3deg)}h1 em{color:#c4b0d8;font-style:inherit}.title-block p{font-size:13px;color:#dec4bd;margin:18px 0 0}.hero-select{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 16px}.hero-select button{padding:0 9px 8px;background:none;border-bottom:2px solid transparent;position:relative;transition:transform .17s,color .17s;color:#c0a8be}.hero-select canvas{display:block;width:104px;height:134px;filter:drop-shadow(4px 5px #11121d55)}.hero-select span{font-size:12px;font-weight:700;letter-spacing:1px}.hero-select [aria-pressed=true]{color:#d2ead6;border-color:#b3d8c4;transform:translateY(-5px)}.entry-actions{display:flex;flex-direction:column;align-items:center;gap:5px}.primary{min-height:54px;min-width:175px;font-size:21px;font-weight:900;font-style:italic;letter-spacing:-.03em;background:#b4d7bd;color:#202c31;border:2px solid #d5e7cc;border-radius:4px 4px 16px 4px;box-shadow:4px 5px #17152577;padding:12px 27px}.primary span{margin-left:20px}.quiet{min-height:44px;padding:11px 12px;font-size:12px;background:none;color:#dfcddf}.quiet:hover{color:#c0e6cd;text-decoration:underline}.entry-bottom{display:flex;align-items:center;gap:7px;margin-top:8px}#challenge-target{margin:0;font-size:12px;color:#e8cd9a}.panel{background:#201c2cf5;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.panel-inner{width:min(580px,100%);max-height:100%;text-align:center;padding:15px 15px 25px}.panel h2{font-size:clamp(27px,5vw,45px);letter-spacing:-.045em;font-style:italic;margin:9px 0 16px}.panel h3{margin:20px 0 8px;font-size:16px}.panel p{color:#ccb8cf;font-size:14px;line-height:1.55;max-width:440px;margin:12px auto}.panel .primary{margin-top:15px}.panel nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.result-number{font-size:68px;line-height:1;font-weight:900;color:#efd4a4;font-style:italic;letter-spacing:-.06em}.result-stats{display:flex;justify-content:center;gap:22px;padding:18px 0;color:#c3d9c6;font-size:13px}.result-picture{height:105px;margin:5px auto 15px}.result-picture img{height:100%;object-fit:contain}.score-table{border-collapse:collapse;width:100%;margin:15px auto;font-size:14px}.score-table td{padding:12px 5px;border-bottom:1px solid #b29daf33}.score-table td:first-child{text-align:left;color:#b7a2be}.score-table td:last-child{text-align:right;color:#edcd97}.score-table caption{font-size:12px;color:#bcabc9;padding-bottom:10px}.settings-list{text-align:left;margin:22px auto;max-width:360px}.settings-list label{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid #b29daf33;font-size:15px}.settings-list input{width:23px;height:23px;accent-color:#aed3bd}.settings-list small{display:block;font-size:12px;color:#b8a6c1;margin:5px 0 12px 35px}.tutorial-sketch{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0;font-size:31px;color:#c4dfc8}.tutorial-sketch span{border:1px solid #84758f;min-width:60px;padding:12px;border-radius:8px}.sketches-restored{display:flex;justify-content:center;gap:8px;margin:20px 0}.sketches-restored i{width:37px;height:48px;background:#e2cfb4;border:2px solid #88708d;transform:rotate(-5deg);display:grid;place-items:center;color:#66526e;font-style:normal;font-size:25px}.sketches-restored i:nth-child(even){transform:rotate(6deg)}.failure-note{color:#ecc0b2!important}#score-card-status{min-height:20px}body.calm *,body.calm *:before,body.calm *:after{animation:none!important;transition:none!important}@keyframes score-pop{50%{transform:scale(1.2)}}@media(max-width:600px){.adventure-header{padding:6px 14px;height:59px}.ellie-logo{font-size:31px}.screen{inset:59px 0 0}#hud{gap:14px;padding:0 15px;height:38px;font-size:16px}#stage-number{font-size:10px}.key-guide{display:none}.entry{padding:12px 10px 18px}.hero-select canvas{width:92px;height:118px}.hero-select{gap:0;margin:16px 0}.hero-select button{padding:0 5px 8px}h1{font-size:clamp(43px,10vw,63px)}.title-block p{font-size:12px}#controls{height:82px;padding-left:18px;padding-right:18px}.panel{padding:12px}.panel-inner{padding:8px 7px 20px}.result-number{font-size:56px}.result-stats{gap:13px}}@media(orientation:landscape) and (max-height:600px){.adventure-header{height:49px;padding:3px 13px}.ellie-logo{font-size:29px}.screen{inset:49px 0 0}#hud{height:30px;font-size:14px}.round-button{height:42px;min-width:44px}#controls{height:61px;padding:4px 18px 7px}#controls button{height:48px;width:59px;font-size:35px}#controls #jump{width:70px}.key-guide{font-size:10px}.entry{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:4px 14px;padding:14px 35px 7px}.title-block{grid-column:1;grid-row:1;align-self:center}h1{font-size:49px}.title-block p{font-size:11px}.tiny-label{font-size:8px}.hero-select{grid-column:2;grid-row:1;margin:0;align-self:center}.hero-select canvas{width:76px;height:98px}.hero-select button{padding:0 4px 6px}.entry-actions{grid-column:2;grid-row:2;gap:0}.entry-actions .primary{height:45px;min-height:45px;padding:7px 20px;font-size:19px}.entry-actions .quiet{min-height:39px;padding:8px}.entry-bottom{grid-column:1;grid-row:2;align-self:center;justify-content:center;margin:0;flex-wrap:wrap;gap:0}.entry-bottom .quiet{padding:7px 9px}.panel-inner{padding:3px 10px 20px}.panel h2{font-size:30px}.result-picture{height:75px}.result-number{font-size:50px}}

@media(orientation:landscape) and (max-height:600px){body.is-playing #hud{position:absolute;top:4px;left:112px;right:173px;height:40px;padding:0;z-index:6;gap:12px;pointer-events:none;background:none}body.is-playing #stage-number{display:none}body.is-playing #hearts{font-size:17px;letter-spacing:2px}body.is-playing .sketch-count{font-size:12px}}

/* The controls are game art; menus and copyable links remain ordinary document UI. */
#stage-wrap,#controls,#hud,.adventure-header{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
#controls *,#stage-wrap *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}#controls{touch-action:none;overscroll-behavior:none}
.screen,.screen input,.screen p,.screen label{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.screen{touch-action:pan-y pinch-zoom}
.round-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sound-waves{opacity:.35}#audio[aria-pressed=true] .sound-waves{opacity:1}.contract-icon{display:none}#fullscreen[aria-pressed=true] .expand-icon{display:none}#fullscreen[aria-pressed=true] .contract-icon{display:block}
#adventure:fullscreen{width:100vw;height:100dvh;background:#201d2b}.screen .tutorial-sketch svg{width:62px;height:62px}.tutorial-sketch>span{display:flex;gap:3px;align-items:center;justify-content:center}.screen #score-card-status input{display:block;width:100%;margin:12px 0;padding:12px;color:#211e2d;background:#e9dddf;border:1px solid #c8afcb;font:14px Arial}
@media(max-width:600px){#controls{height:100px;padding:5px max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.adventure-header>div{gap:5px}.adventure-header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.control-thread:before,.control-thread:after{width:10px}}
@media(max-width:359px){.control-thread{display:none}#controls button{width:74px;height:74px}#controls #jump{width:82px;height:82px}.adventure-header>div{gap:3px}.ellie-logo{font-size:28px}}
@media(orientation:landscape) and (max-height:600px){#controls{height:77px;padding-top:2px;padding-bottom:max(3px,env(safe-area-inset-bottom))}#controls button{width:67px;height:67px}#controls #jump{width:72px;height:72px}body.is-playing #hud{right:222px;left:105px;gap:12px}.adventure-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
