
:root{color-scheme:dark;--bg:#121e24;--panel:#19272e;--mint:#bbf4d4;--muted:#92a4ac;--line:#334149}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eef4f3;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:transparent;border-radius:8px;padding:12px 16px;touch-action:manipulation}button:hover{border-color:var(--mint)}button:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}header{height:108px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-size:38px;font-weight:900;letter-spacing:-2px}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:2px}.mark{color:var(--mint);font-size:30px;line-height:.5;transform:rotate(-8deg)}.top-actions{display:flex;gap:10px}.top-actions button{font-size:14px}main{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1.55fr 1fr;min-height:690px;padding:35px 5%;gap:34px}.intro{padding-top:38px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--mint);font-weight:bold}h1{font-size:clamp(32px,3vw,48px);line-height:1.13;letter-spacing:-2px;margin:24px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--mint)}p{font-size:16px;line-height:1.7;color:var(--muted)}.mode-group{display:flex;padding:4px;background:#0d181e;border:1px solid var(--line);border-radius:10px;margin:30px 0;gap:2px}.mode-group button{border:0;font-size:14px;padding:11px 12px;flex:1;white-space:nowrap}.mode-group .active{background:#33464a;color:var(--mint)}.rules{display:grid;grid-template-columns:25px 1fr;gap:17px 10px;align-items:center}.rules span{font-size:12px;color:var(--mint)}.rules p{margin:0;font-size:14px}.record{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.record>span{font-size:11px;letter-spacing:2px;color:var(--muted)}.record strong{display:block;font-size:32px;margin-top:10px}.record small{font-size:14px;font-weight:400;color:var(--muted)}.arena{position:relative;background:radial-gradient(ellipse at 50% 42%,#31434b 0%,#1b2c35 48%,#17262e 78%);border:1px solid #37464d;border-radius:18px;overflow:hidden;min-height:620px}.arena-top{position:absolute;top:22px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--muted);z-index:1}.live{color:var(--mint)}canvas{width:100%;height:100%;position:absolute;touch-action:none}.score{position:absolute;left:24px;top:64px}.score strong{font-size:46px;font-weight:400;letter-spacing:-3px}.score span,.height span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}.height{position:absolute;right:24px;top:75px;text-align:right}.height strong{font-size:26px;font-weight:400}.status{position:absolute;bottom:108px;text-align:center;width:100%;padding:0 15px;font-size:14px;color:var(--mint);pointer-events:none}.balance{position:absolute;bottom:64px;left:24px;right:24px}.balance>div:first-child{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;margin-bottom:10px}.track{height:4px;background:#45545b;border-radius:3px}.track i{display:block;background:var(--mint);height:100%;width:100%;transition:width .5s}.rotate{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);border:0;font-size:12px;color:var(--muted);white-space:nowrap}.controls{padding:40px 0 0 4px}h2{font-size:27px;letter-spacing:-1px;line-height:1.2;margin:20px 0 12px}.controls label{font-size:12px;color:var(--muted);display:block;margin:25px 0 8px}select{width:100%;padding:12px;background:#1d2c33;color:#e9f4ef;border:1px solid var(--line);border-radius:8px}.precision{margin:30px 0 22px}.precision-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin-bottom:18px}.precision-label b{color:var(--mint)}.pull-track{height:28px;background:#293840;position:relative;border-radius:5px}.pull-track span{position:absolute;left:40%;width:20%;height:100%;background:#bbf4d444;border:1px solid #bbf4d4}.pull-track i{position:absolute;left:0%;height:36px;width:3px;background:white;top:-4px;border-radius:3px}.precision small{display:block;font-size:12px;color:var(--muted);margin-top:13px}.primary{background:var(--mint);color:#132821;font-weight:bold;display:block;width:100%;border:0;padding:17px;text-align:left;user-select:none;touch-action:none}.primary span{float:right}.secondary{display:block;width:100%;margin-top:12px;color:var(--muted)}.session{border-top:1px solid var(--line);margin-top:36px;padding-top:23px;font-size:13px;color:var(--muted);line-height:1.8}.session small{display:block;font-size:11px}footer{margin:0 5%;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:1px}dialog{background:#1c2d35;color:#eef4f3;border:1px solid #53666f;border-radius:18px;max-width:460px;padding:35px}dialog::backdrop{background:#071118cc;backdrop-filter:blur(7px)}.close{float:right;border:0;padding:0 0 12px 12px}dialog p{font-size:15px}@media(max-width:1100px){main{gap:20px;padding:25px 3%;grid-template-columns:.9fr 1.4fr 1fr}.intro h1{font-size:33px}.mode-group button{padding:10px 6px;font-size:12px}.arena-top{font-size:9px;left:15px;right:15px}}@media(max-width:800px){header{height:80px;margin:0 20px}.brand{font-size:28px}.brand small{font-size:8px}main{display:grid;grid-template-columns:1fr;padding:20px;gap:20px}.intro{padding:0}.intro .eyebrow,.intro h1,.intro>p,.rules,.record{display:none}.mode-group{margin:0}.arena{height:530px;min-height:530px;grid-row:2}.controls{padding:0}.controls>.eyebrow,.controls>h2,.controls>p:not(#placement),.session{display:none}.controls label{margin-top:0}.precision{margin:18px 0}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.controls label,.controls select,.precision,#placement{grid-column:1/-1}.secondary{margin:0}.primary{height:54px}.controls #place{grid-column:1}.arena-top{font-size:10px}footer{font-size:9px}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}


/* Direct tower interaction: legacy controls retained but not displayed. */
.controls label,.controls select,.controls .precision,#pull,#place,#placement{display:none!important}.touch-guide{position:absolute;top:46px;left:0;width:100%;text-align:center;font-size:12px;color:#bbf4d4;pointer-events:none;z-index:2}.touch-guide span{display:block;margin-top:5px}.score,.height{top:86px}.controls #restart{max-width:240px}@media(max-width:800px){header{height:64px}main{padding:10px;gap:8px}.arena{height:calc(100svh - 175px);min-height:410px;max-height:620px}.controls{display:block}.controls #restart{margin:auto;padding:9px}.touch-guide{font-size:11px}.score strong{font-size:28px}footer{display:none}}

.start-game{max-width:300px;margin:12px auto;text-align:center}#exitGame{display:none}.playing{overflow:hidden}.playing header,.playing .start-game,.playing .intro,.playing .controls,.playing footer,.playing .arena>*:not(canvas){display:none!important}.playing main{display:block;padding:0;margin:0;min-height:0}.playing .arena{position:fixed;inset:0;width:100vw;height:100dvh;max-height:none;min-height:0;border:0;border-radius:0;z-index:50}.playing #exitGame{display:block;position:fixed;right:10px;top:10px;z-index:60;border:0;font-size:28px;color:#bbf4d4;background:#121e2477;padding:2px 10px}

.return-home{display:block;text-align:center;color:#bbf4d4;font-size:14px;margin:10px}.playing .return-home{display:none!important}.playing .arena>.score{display:block!important;top:24px;left:24px;z-index:55;pointer-events:none}.playing .score span{display:none}.playing .score strong{font-size:36px}@media(max-width:800px){.intro .rules{display:grid;gap:4px 8px;margin:10px 0}.intro .rules p{font-size:12px}.touch-guide{font-size:10px}}

.share-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px auto;max-width:520px}.share-tools button,.share-tools a{font:12px Arial;padding:9px 12px;border:1px solid #536479;border-radius:8px;background:#142336;color:#d5ffe8;text-decoration:none}.game-preview{display:block;width:min(90%,500px);height:auto;margin:15px auto;border-radius:16px}.playing>.share-tools,.playing>.game-preview{display:none!important}

[hidden]{display:none!important}.landing-art{display:block;width:min(90%,700px);height:auto;margin:20px auto;border-radius:20px}.playing .landing-art{display:none}.music-volume{font-size:12px;display:flex;gap:8px;align-items:center}.playing .music-volume{display:none}
body:not(.playing) .arena,body:not(.playing) .control-panel{display:none!important}

.tower-demo{grid-column:1/-1;width:min(100%,540px);margin:20px auto;padding:24px;border:1px solid #47606a;border-radius:22px;background:radial-gradient(ellipse at 50% 40%,#29434c,#101c24);text-align:center;pointer-events:none}.tower-demo h2{font-size:24px}.tower-demo p{font-size:14px;line-height:1.7;color:#c4d7d8}.tower-demo svg{width:100%;height:auto;max-height:380px}.playing .tower-demo{display:none}.demo-block{animation:demo-stack 6s ease-in-out infinite}@keyframes demo-stack{0%,15%{transform:translate(0,0)}35%,45%{transform:translate(-65px,20px)}70%,90%{transform:translate(0,-144px)}100%{transform:translate(0,0)}}@media(prefers-reduced-motion:reduce){.demo-block{animation:none}}body:not(.playing) .controls{display:none!important}

.return-games{display:block;text-align:center;color:#bbf4d4;margin:10px;font-size:14px}.playing> .return-games{display:none}nav{gap:15px}nav a:last-child{text-align:right}

.activity-bar{font-size:12px;line-height:1.6;color:#b2c8d4;text-align:center;margin:9px auto}.live-players{position:absolute;top:64px;right:18px;font:10px Arial;color:#acbeca;z-index:56;pointer-events:none}.playing>.activity-bar{display:none}.playing .arena>.live-players{display:block!important}
body:not(.playing){background:radial-gradient(ellipse at 75% 0,#2b4149,transparent 55%),#101c23}body:not(.playing) main{min-height:0;display:grid;grid-template-columns:1fr 1.1fr;align-items:start;padding:20px clamp(16px,4vw,64px);gap:28px;width:100%;max-width:1600px}.intro{padding-top:0}.tower-demo{grid-column:auto;width:100%;max-width:none;margin:0;box-shadow:0 18px 60px #0003}.tower-demo svg{display:block;height:clamp(260px,40vh,430px);width:100%;max-height:none}.tower-demo h2{margin:0 0 6px}.tower-demo p{margin:8px 0}.intro .mode-group{margin:0 0 20px}body:not(.playing)>.game-preview{display:none}.start-game{display:block;width:calc(100% - 32px);max-width:650px;min-height:54px;font-size:19px;background:linear-gradient(135deg,#d0ffe5,#8edbbb);box-shadow:0 6px 24px #0003}.return-home,.return-games{display:inline-block;width:calc(50% - 20px);vertical-align:middle;margin:12px 8px;text-decoration:none}.share-tools{padding:0 16px;max-width:none}.activity-bar{padding:0 16px}.record{margin-top:22px}.playing .tower-demo{display:none!important}@media(max-width:800px){header{height:auto;min-height:84px;margin:0 16px;padding:14px 0;flex-wrap:wrap;gap:12px}.brand{font-size:28px}.top-actions{gap:5px}.top-actions button{font-size:12px;padding:9px}.music-volume{flex-basis:100%;justify-content:flex-end}body:not(.playing) main{display:flex;flex-direction:column;min-height:0;padding:14px 16px 24px;gap:20px}.intro{width:100%;padding:0}.intro .rules{font-size:14px;gap:12px}.intro .rules p{font-size:14px}.tower-demo{order:-1;padding:20px 12px;border-radius:18px}.tower-demo svg{height:clamp(260px,42vh,420px)}.intro .mode-group{margin:0 0 16px}.record{display:none}.return-home,.return-games{font-size:12px;margin-top:12px;margin-bottom:8px}.start-game{margin:8px auto}.share-tools{margin:10px auto}.playing header{display:none}}@media(orientation:landscape) and (max-width:950px){body:not(.playing) main{display:grid;grid-template-columns:1fr 1fr}.tower-demo svg{height:260px}.tower-demo{order:0}}

/* Nerdania responsive release: preserve scrolling menus and safe play bounds. */
html{max-width:100%;overflow-x:clip}body{max-width:100%;margin-left:0;margin-right:0}img{max-width:100%}nav{flex-wrap:wrap}nav a{overflow-wrap:anywhere}main>*{min-width:0}.hero>*{min-width:0}.hero img{object-fit:contain!important}.share-tools{flex-wrap:wrap}.settings{max-width:100%;flex-wrap:wrap}.settings>*{max-width:100%}dialog{max-height:90dvh;overflow:auto}.playing{height:100dvh;overflow:hidden}.playing #playfield{height:100dvh;max-width:100vw}.playing .hud{flex-shrink:0}.playing #surface{min-height:0}.live-players{max-width:90%;white-space:normal}@media(max-width:420px){.hud{gap:5px!important}.hud button{padding:8px 10px}.hud small{font-size:10px}.hero h1{overflow-wrap:anywhere}.share-tools a,.share-tools button{min-height:42px}#menu{padding-left:12px;padding-right:12px}#surface{max-width:100%}.settings{gap:12px}}
