@font-face{font-family:AppleJua;src:url('/lobby-assets/fonts/jua.woff2') format('woff2');font-display:swap}@font-face{font-family:AppleGowun;src:url('/lobby-assets/fonts/gowun-dodum.woff2') format('woff2');font-display:swap}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:root{--paper:#f7f3e9;--ink:#302c24;--muted:#82786a;--red:#ce4939;--red-dark:#aa382d;--green:#47705a;--line:#ddd6c5;--cream:#fffdf6;--orange:#be6238;--shadow:0 5px 0 #302c2411}
*{box-sizing:border-box}html{background:var(--paper);color-scheme:light}body{margin:0;font-family:AppleGowun,'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--green);outline-offset:5px}button:disabled{opacity:.5;cursor:default}button{touch-action:manipulation}button,[role=tab]{-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}[hidden]{display:none!important}#app{max-width:1200px;margin:auto;padding:0 42px;isolation:isolate}.topbar{display:flex;align-items:center;justify-content:space-between;height:92px;gap:15px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:34px;height:42px}.brand span{font:800 13px/1.3 ui-monospace,monospace;letter-spacing:.1em}.brand small{display:block;font:11px AppleGowun,sans-serif;letter-spacing:0;color:var(--muted);margin-top:5px}.top-actions{display:flex;gap:8px}.icon-button,.quiet{border:0;background:transparent;color:var(--muted);font-size:12px;padding:9px}.icon-button{border:1px solid var(--line);border-radius:8px}.icon-button:hover,.quiet:hover{color:var(--ink);background:#e9e2d344}.screen{min-height:610px}.eyebrow,.mono{font-family:ui-monospace,monospace;letter-spacing:.13em;font-size:10px;font-weight:700}.eyebrow{color:var(--green)}.menu-screen{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:50px 0 46px}.pill{display:inline-flex;align-items:center;gap:9px;padding:5px 12px;border:1px solid #cfcfbb;border-radius:30px;font-size:11px;color:var(--green);background:#eeefdf}.tiny-apple{color:var(--red);font-size:13px}.menu-copy h1{font:64px/1.3 AppleJua,sans-serif;letter-spacing:-.03em;margin:20px 0 10px}.tagline{font:31px/1.45 AppleJua,sans-serif;white-space:pre-line;color:var(--red)}.intro-copy{font-size:13px;line-height:1.9;color:var(--muted);margin:20px 0 30px}.menu-buttons{display:flex;flex-direction:column;gap:10px;max-width:330px}.button{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:12px;padding:14px 20px;border:1px solid var(--line);min-height:52px;font-weight:700;transition:transform .16s,background .16s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.primary{background:var(--red);border-color:var(--red-dark);color:#fff7ed;box-shadow:0 4px 0 #933a2d}.primary:hover{background:#d95242}.secondary{background:var(--cream)}.button span{font:20px ui-monospace,monospace}.best{display:flex;align-items:baseline;gap:7px;margin-top:24px;font-size:11px;color:var(--muted)}.best>span:first-child{font:9px ui-monospace,monospace;letter-spacing:.1em}.best strong{font:700 20px ui-monospace,monospace;color:var(--ink)}.best .quiet{margin-left:auto;font-size:10px}.menu-art{height:500px;position:relative;border:1px solid var(--line);border-radius:150px 150px 16px 16px;background:radial-gradient(ellipse at 48% 42%,#fffef8 0,#eae7d7 80%);overflow:hidden}.menu-art:before{content:'';position:absolute;inset:13px;border:1px dashed #bcbca9;border-radius:140px 140px 12px 12px;pointer-events:none}.menu-art canvas{width:100%;height:100%}.art-note{position:absolute;top:39px;left:0;width:100%;text-align:center;font:10px ui-monospace,monospace;letter-spacing:.18em;color:var(--green);z-index:1}.art-sticker{position:absolute;top:116px;right:24px;border:1px solid #be9266;background:#f0d9a9;color:#715636;border-radius:50%;width:63px;height:63px;display:grid;place-content:center;line-height:1.25;text-align:center;font-family:AppleJua;font-size:18px;transform:rotate(12deg)}.art-caption{position:absolute;bottom:33px;left:35px;right:24px;display:flex;gap:12px;align-items:center}.art-caption>span{font:28px AppleJua;color:#99a38b}.art-caption p{font-size:11px;color:var(--muted)}.game-footer{border-top:1px solid var(--line);padding:18px 0 23px;display:flex;justify-content:space-between;gap:10px;font:9px ui-monospace,AppleGowun,sans-serif;letter-spacing:.08em;color:#918776}.game-footer i{font-style:normal;color:var(--red);margin:0 8px}
.intro-screen{padding:24px 0 26px}.intro-top,.intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}.intro-frame{height:470px;background:#ede8dc;border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative;margin:14px 0}.intro-frame img{width:100%;height:100%;object-fit:contain;display:block;animation:intro-in .35s ease}.intro-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.intro-bottom p{font:20px AppleJua}.intro-bottom .mono{color:var(--muted);font-size:10px;white-space:nowrap}.intro-dots{display:flex;justify-content:center;gap:6px;margin-top:18px}.intro-dots span{width:20px;height:3px;background:var(--line);border-radius:3px}.intro-dots .active{background:var(--red)}@keyframes intro-in{from{opacity:.2;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.howto-screen{padding:38px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h1{font:35px AppleJua;margin-top:8px}.howto-tabs{display:flex;border:1px solid var(--line);background:#ede7dc;border-radius:30px;width:190px;padding:3px;margin:24px 0}.howto-tabs button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:24px;font:12px ui-monospace,monospace;padding:9px}.howto-tabs button[aria-selected=true]{background:var(--cream);color:var(--ink);box-shadow:0 1px 5px #302c2410}.howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.how-card{padding:20px;background:#fffdf6;border:1px solid var(--line);border-radius:16px}.step{font:10px ui-monospace,AppleGowun,sans-serif;letter-spacing:.08em;color:var(--green)}.how-drawing{height:150px;display:grid;place-items:center;margin:8px 0}.how-drawing img{width:100%;height:100%;object-fit:contain}.how-card h2{font:23px AppleJua;margin-bottom:11px}.how-card p{font-size:12px;line-height:1.85;min-height:64px}.how-card small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:13px}.howto-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.howto-footer p{font-size:12px;color:var(--muted)}.howto-footer .button{font-size:13px}
.play-screen{padding:24px 0}.hud{display:flex;align-items:center;gap:30px;margin-bottom:20px}.score-block{min-width:150px}.score-block .eyebrow{display:block;font-size:9px}.score-block>strong{font:40px/1.1 AppleJua;letter-spacing:.025em;display:block;margin-top:3px;font-variant-numeric:tabular-nums}.ribbon-stat{border-left:1px solid var(--line);padding-left:30px;display:flex;flex-direction:column;line-height:1.35}.ribbon-stat>span{font-size:10px;color:var(--muted)}.ribbon-stat strong{font:25px AppleJua;margin:4px 0;color:var(--green)}.ribbon-stat strong b{font-weight:400}.ribbon-stat strong small{font:12px ui-monospace,monospace}.ribbon-stat #multiplier{font-size:9px;min-height:14px}.time-block{margin-left:auto;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:14px}.time-block>span{font-size:10px;color:var(--muted)}.time-block strong{grid-row:2;font:29px AppleJua;font-variant-numeric:tabular-nums}.time-block strong small{font:11px AppleGowun;margin-left:2px}.time-block button{grid-column:2;grid-row:1/3;width:37px;height:37px;color:var(--ink)}.time-block.urgent strong{color:var(--red)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px}.board-wrap{position:relative;height:490px;border:1px solid #d6ccba;border-radius:18px;overflow:hidden;background:#f2eddf;isolation:isolate}.board-wrap:after{content:'';position:absolute;inset:8px;border:1px solid #d2c7b866;border-radius:11px;pointer-events:none}.game-background{position:absolute;inset:0;background-position:center;background-size:cover;pointer-events:none;z-index:0}.board-wrap canvas{display:block;position:absolute;width:100%;height:100%;touch-action:none;cursor:none;outline:none}.board-kicker{position:absolute;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;font:9px ui-monospace,AppleGowun,monospace;letter-spacing:.11em;color:#8b816d;pointer-events:none}.board-kicker span:last-child{font-family:AppleGowun;font-size:11px;letter-spacing:0}.play-aside{padding:21px 20px;background:#fffdf6;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}.aside-title{display:flex;align-items:center;justify-content:space-between}.aside-title .eyebrow{font-size:8px}.leaf-mark{color:var(--green);font-size:24px}.play-aside h2{font:28px/1.4 AppleJua;margin:8px 0 24px}.progress-label,.record-row{display:flex;justify-content:space-between;gap:10px;font-size:11px}.progress-label strong{color:var(--green);font:14px ui-monospace,monospace}.progress-track{height:5px;background:#e7e5d9;border-radius:5px;margin:10px 0 22px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);width:0;transition:width .2s}.record-row{padding:12px 0;border-bottom:1px solid #ebe4d6}.record-row>span{color:var(--muted)}.record-row strong{font:11px ui-monospace,monospace}.aside-hint{font-size:11px;color:var(--muted);line-height:1.8;margin-top:20px}.aside-hint b{color:var(--green)}.finish-button{padding:12px 0 0;margin-top:auto;text-align:left;font-size:11px;color:var(--green)}.control-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 23px;margin-top:18px}.control-strip>div{display:flex;align-items:center;gap:6px;font-size:10px}.control-label{color:var(--green);font:8px ui-monospace,monospace;letter-spacing:.06em;margin-right:2px}.control-strip kbd{display:inline-grid;place-items:center;border:1px solid #c5b9a7;box-shadow:0 2px 0 #c5b9a7;width:18px;height:19px;border-radius:4px;font:11px sans-serif;color:var(--muted)}.control-strip>small{margin-left:auto;font-size:9px;color:var(--muted)}.mouse-outline{width:12px;height:17px;border:1px solid #a39785;border-radius:7px;position:relative;margin-left:3px}.mouse-outline:before{content:'';position:absolute;top:2px;left:4px;width:2px;height:5px;background:var(--red)}
.result-screen{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:45px 0;align-items:center}.result-art{height:485px;background:radial-gradient(ellipse,#faf8ed,#e9e4d3);border:1px solid var(--line);border-radius:160px 160px 15px 15px;position:relative}.result-art canvas{width:100%;height:100%}.result-stamp{position:absolute;right:22px;bottom:30px;border:2px solid var(--green);color:var(--green);font:21px AppleJua;padding:11px 16px;transform:rotate(-8deg);border-radius:9px}.result-copy h1{font:35px AppleJua;margin:12px 0 10px}.result-copy>p{font-size:12px;color:var(--muted)}.result-score{margin:24px 0 20px;display:flex;align-items:baseline;gap:8px}.result-score strong{font:67px/1 AppleJua;color:var(--red)}.result-score>span{font-size:14px}.result-score b{font:9px ui-monospace,monospace;border-radius:5px;border:1px solid #a6b69b;padding:4px 7px;background:#ecf0dd;color:var(--green);margin-left:6px}.result-records{margin:0 0 25px;padding:0;max-width:340px}.result-records>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.result-records dt{color:var(--muted)}.result-records dd{font:14px ui-monospace,monospace;margin:0}.result-copy .local-note{font-size:10px;margin-top:20px}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#302c2477;backdrop-filter:blur(7px)}.pause-card{width:min(360px,100%);background:var(--paper);padding:32px;border:1px solid #d3c9b6;border-radius:20px;box-shadow:0 20px 70px #20191133;text-align:center}.pause-card .eyebrow{display:block}.pause-apple{display:block;font-size:50px;margin:14px 0 8px}.pause-card h2{font:27px AppleJua}.pause-card p{color:var(--muted);font-size:12px;margin:17px 0 23px}.pause-card .button{width:100%;font-size:14px}.pause-card .quiet{margin-top:14px}
@media(pointer:coarse){.board-wrap canvas{cursor:auto}}
@media(max-width:1000px){#app{padding:0 25px}.play-layout{grid-template-columns:minmax(0,1fr) 185px;gap:14px}.play-aside{padding:17px 15px}.play-aside h2{font-size:24px}.menu-copy h1{font-size:55px}.menu-screen{gap:25px}.control-strip>small{margin-left:0}.art-sticker{right:14px}}
@media(max-width:720px){#app{padding:0 18px}.topbar{height:74px}.brand span{font-size:11px}.brand small{font-size:9px}.brand img{width:29px;height:35px}.top-actions{gap:5px}.top-actions button{font-size:10px;padding:7px}.screen{min-height:0}.menu-screen{gap:20px;grid-template-columns:1fr;padding:24px 0 28px}.menu-copy{text-align:center}.menu-copy h1{font-size:53px;margin:12px 0 6px}.tagline{font-size:24px}.tagline br{display:none}.intro-copy{font-size:11px;margin:12px 0 22px}.menu-buttons{margin:0 auto;max-width:360px}.menu-art{grid-row:1;height:230px;width:min(100%,360px);margin:auto;border-radius:100px 100px 14px 14px}.menu-art:before{border-radius:90px 90px 10px 10px;inset:9px}.art-note{top:18px;font-size:8px}.art-sticker{top:63px;right:28px;font-size:14px;width:48px;height:48px}.art-caption{display:none}.pill{font-size:10px}.best{max-width:360px;margin:21px auto 0}.button{padding:12px 17px;font-size:14px;min-height:49px}.game-footer{font-size:7px;line-height:1.6}.game-footer>span:last-child{letter-spacing:0}.intro-screen{padding-top:20px}.intro-frame{height:430px}.intro-bottom p{font-size:16px}.intro-dots{margin-bottom:20px}.howto-screen{padding:24px 0}.section-heading h1{font-size:27px}.section-heading .quiet{font-size:11px}.howto-tabs{margin:20px 0}.howto-grid{grid-template-columns:1fr;gap:11px}.how-card{display:grid;grid-template-columns:95px 1fr;column-gap:14px;padding:16px}.step{grid-column:2;font-size:9px}.how-drawing{grid-column:1;grid-row:1/5;height:116px;margin:0}.how-card h2{grid-column:2;font-size:21px;margin:7px 0}.how-card p{grid-column:2;font-size:11px;min-height:0}.how-card small{grid-column:2;font-size:9px;margin-top:8px}.howto-footer{display:block;margin-top:21px}.howto-footer .button{margin-top:17px;width:100%}.howto-footer p{font-size:11px}.play-screen{padding:15px 0 19px}.hud{gap:15px;margin-bottom:13px}.score-block{min-width:90px}.score-block>strong{font-size:33px}.ribbon-stat{padding-left:15px}.ribbon-stat strong{font-size:22px}.time-block{column-gap:8px}.time-block strong{font-size:25px}.time-block button{width:33px;height:35px}.play-layout{grid-template-columns:1fr;gap:11px}.board-wrap{height:440px}.board-kicker{left:17px;right:17px;font-size:8px}.board-kicker span:last-child{font-size:10px}.play-aside{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding:13px 17px}.aside-title,.play-aside h2,.aside-hint{display:none}.progress-label{grid-column:1;align-items:center}.progress-track{grid-column:1;margin:4px 0 6px}.record-row{grid-column:2;padding:0;border:0;grid-row:1;font-size:10px;align-items:center}.record-row strong{font-size:10px}.finish-button{grid-column:1/3;margin:3px 0 0;padding:4px 0;text-align:right;font-size:10px}.control-strip{margin-top:12px;gap:6px 10px}.control-strip>div{font-size:9px}.control-strip .control-label{font-size:7px}.control-strip>div>kbd{display:none}.result-screen{grid-template-columns:1fr;padding:25px 0;gap:24px}.result-art{height:220px;width:min(100%,350px);margin:auto;border-radius:100px 100px 15px 15px}.result-stamp{font-size:18px;bottom:14px;right:20px;padding:7px 12px}.result-copy{text-align:center}.result-copy h1{font-size:31px}.result-score{justify-content:center;margin:22px 0}.result-score strong{font-size:58px}.result-records{margin:0 auto 24px}.result-records>div{font-size:11px}.result-copy .local-note{margin-top:17px}}
@media(max-width:360px){#app{padding:0 12px}.top-actions button{padding:6px;font-size:9px}.brand span{font-size:10px}.brand{gap:8px}.board-wrap{height:420px}.hud{gap:11px}.ribbon-stat{padding-left:11px}.score-block{min-width:74px}.score-block>strong{font-size:29px}.ribbon-stat strong{font-size:20px}.ribbon-stat>span{font-size:9px}.menu-art{height:205px}.menu-copy h1{font-size:48px}.board-kicker span:last-child{display:none}}
@media(max-height:550px) and (min-width:721px){.play-screen{padding:12px 0}.topbar{height:54px}.board-wrap{height:340px}.play-aside h2{font-size:20px;margin:0 0 9px}.play-aside{padding:12px}.record-row{padding:7px 0}.aside-hint{display:none}.hud{margin-bottom:10px}.control-strip{margin-top:10px}.game-footer{padding:10px 0}.menu-screen{padding:22px 0;min-height:0}.menu-art{height:360px}.intro-frame{height:300px}.intro-screen{min-height:0}.result-art{height:370px}.result-screen{min-height:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Keep illustration bounds independent of their SVG's intrinsic dimensions. */
.how-drawing{display:block;position:relative}.how-drawing img{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%;object-fit:contain}
.howto-tabs button{font-family:ui-monospace,AppleGowun,monospace}
#app:fullscreen{background:var(--paper);width:100%;max-width:none;overflow:auto}
@media(pointer:coarse) and (min-width:721px) and (max-height:550px){
 .topbar{height:50px}.play-screen{padding:10px 0}.hud{margin-bottom:9px}.score-block>strong{font-size:29px}.ribbon-stat strong{font-size:22px}.time-block strong{font-size:24px}
 .board-wrap{height:calc(100svh - 145px);min-height:215px}.play-aside h2,.play-aside .aside-title,.control-strip,.game-footer{display:none}.play-aside{padding:10px 12px}.play-aside .progress-track{margin:7px 0 9px}.play-aside .record-row{padding:7px 0}.finish-button{padding-top:6px}
 .board-kicker{top:13px}
}
@media(pointer:coarse) and (min-width:721px) and (max-height:550px){.play-screen{min-height:0}}





.angle-controls{display:none;position:absolute;left:13px;right:13px;bottom:56px;align-items:center;justify-content:space-between;pointer-events:none}
.angle-controls button{pointer-events:auto;touch-action:none;border:1px solid #a7a086;background:#fffdf4ed;color:var(--green);width:41px;height:41px;border-radius:50%;font:25px/1 AppleGowun,sans-serif;box-shadow:0 2px 0 #b7af96}
.angle-controls button.pressed{background:#dce6ce;box-shadow:none;transform:translateY(2px)}
@media(pointer:coarse){.angle-controls{display:flex}}

/* Brief edge flash for freshly damaged apple flesh. */
.damage-vignette{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 48%,transparent 28%,rgba(151,22,24,.04) 49%,rgba(193,35,42,.20) 69%,rgba(186,25,36,.62) 100%)}
