/* v35 isolated app surfaces and optional desktop enhancements. */
.b35{overflow:auto!important;--b35-tone:var(--accent);background:var(--base);color:var(--text)}.b35 *{box-sizing:border-box}.b35-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:38px 34px;background:radial-gradient(ellipse at 100% 0,var(--panel2),transparent 75%);border-bottom:1px solid var(--line)}.b35-hero h2{font-size:clamp(26px,3vw,42px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 18px;max-width:680px}.b35-hero p{max-width:660px;line-height:1.7;color:var(--muted)}.b35-hero .overline{color:var(--accent);font-size:11px;letter-spacing:.2em}.b35-emblem{width:120px;height:120px;display:grid;place-items:center;border:1px solid var(--line);border-radius:36px 7px;background:var(--panel);flex-shrink:0;transform:rotate(-8deg)}.b35-emblem .icon{width:65px;height:65px;color:var(--accent);transform:rotate(8deg)}.b35-content{padding:26px 32px;max-width:1500px;margin:auto}.b35-content>section{margin-bottom:30px}.b35 h3{font-size:20px;margin:12px 0 18px}.b35 h4{font-size:17px;line-height:1.4;margin:10px 0}.b35 p,.b35 li{line-height:1.7}.b35 button{min-height:40px;white-space:normal}.b35 button:focus-visible,.b35 select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.b35-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.b35-launch{display:flex;align-items:center;gap:16px;text-align:left;padding:20px;border-radius:18px;background:var(--panel);border:1px solid var(--line);transition:transform .15s,border-color .15s}.b35-launch:hover{transform:translateY(-3px);border-color:var(--accent)}.b35-launch>.icon{width:34px;height:34px;color:var(--accent);flex-shrink:0}.b35-launch span{flex:1;min-width:0}.b35-launch b{display:block;font-size:16px}.b35-launch small{display:block;color:var(--muted);line-height:1.6;font-size:12px;margin-top:6px}.b35-launch i{font-style:normal;color:var(--accent)}.b35-card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:18px;margin:12px 0;min-width:0}.b35-card>button{margin:5px}.b35-note{font-size:13px;color:var(--muted);padding:18px;border:1px solid var(--line);border-radius:12px}.b35 label{display:grid;gap:8px;margin:16px 0;font-size:13px}.b35 label:has(input[type=checkbox]){display:flex;align-items:center;line-height:1.6}.b35 input,.b35 select,.b35 textarea{width:100%;max-width:100%;font:inherit}.b35 input[type=checkbox]{width:auto}.b35 .toolbar{flex-wrap:wrap}.b35 .row{display:flex;gap:10px;flex-wrap:wrap}.b35-editor{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:26px;align-items:start}.b35-preview{position:sticky;top:0;min-width:0}.b35-preview iframe{width:100%;height:600px;border:1px solid var(--line);border-radius:18px;background:white}.b35-preview svg{width:100%;height:auto;display:block}.b35-study{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.b35-study details{padding:20px 0}.b35-missions{display:flex;gap:8px;overflow:auto;padding:12px 0}.b35-missions button{flex-shrink:0;max-width:210px}.b35 [aria-pressed=true]{border-color:var(--accent);background:var(--panel2)}.b35-board{display:grid;gap:6px;padding:12px;border-radius:18px;border:1px solid var(--line);background:var(--panel);width:100%;max-width:560px;margin:16px auto}.b35-board button,.b35-board>span,.b35-board>div{display:grid;place-items:center;aspect-ratio:1;min-width:0;min-height:0;padding:3px;border-radius:9px;font-weight:700}.b35-tactics{grid-template-columns:repeat(7,minmax(0,1fr));max-width:650px}.b35-tactics .wall{background:repeating-linear-gradient(135deg,#65707a 0 3px,#333e49 4px 7px);opacity:.6}.b35-tactics .ally{background:#144561;color:#ddfaff;border-color:#68c5f1}.b35-tactics .enemy{background:#662e47;color:#ffe5ef;border-color:#ef87ad}.b35-tactics .beacon{box-shadow:inset 0 0 0 3px #d7ae61}.b35-tactics .selected{outline:3px solid var(--accent);outline-offset:1px}.b35-tactics span{font-size:24px;line-height:1}.b35-tactics small{font-size:11px}.b35-game-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:24px}.b35-score{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--accent);padding:10px}.b35-merge{grid-template-columns:repeat(4,minmax(0,1fr));max-width:430px}.b35-merge>div{background:#263642;color:#f5fbff;font-size:26px}.b35-merge .v4,.b35-merge .v16,.b35-merge .v64{background:#356056}.b35-merge .v8,.b35-merge .v32,.b35-merge .v128{background:#705332}.b35-merge .v256,.b35-merge .v512,.b35-merge .v1024,.b35-merge .v2048{background:#674b86}.b35-controls{display:flex;justify-content:center;gap:10px}.b35-controls button{width:60px}.b35-lights{grid-template-columns:repeat(5,minmax(0,1fr));max-width:400px}.b35-lights [aria-pressed=true]{background:#ecc478;color:#26211a}.b35-lights [aria-pressed=false]{background:#26333e;color:#8499a8}.b35-four{grid-template-columns:repeat(7,minmax(0,1fr));margin-top:0}.b35-four .player0{color:var(--muted)}.b35-four .player1{color:#75d4ef;background:#123d52}.b35-four .player2{color:#ef9ab8;background:#592339}.b35-four-controls{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:560px;margin:16px auto 0;padding:0 12px}.b35-four span{font-size:26px}.b35-phrase{font-size:24px;padding:20px;border-left:3px solid var(--accent)}.b35-clock{font:42px ui-monospace,monospace;display:block;margin:20px 0}.b35 output{display:block;padding:14px;color:var(--accent);font-size:20px;overflow-wrap:anywhere}
body[data-typeface=serif] .b35,body[data-typeface=serif] .desktop-shortcut{font-family:Georgia,serif}body[data-typeface=mono] .b35,body[data-typeface=mono] .desktop-shortcut{font-family:ui-monospace,monospace}body[data-density=compact] .b35-content{padding:16px}body[data-density=compact] .b35-launch{padding:13px}body[data-density=compact] .b35-hero{padding:22px}#desktop-menu{max-height:calc(100dvh - 90px);overflow-y:auto}body.scroll-fx35:not(.reduce-motion) .b35-hero{background-attachment:local;animation:b35-reveal .35s ease-out}body.scroll-fx35:not(.reduce-motion) .b35{background-image:linear-gradient(var(--base),var(--base)),radial-gradient(ellipse at top,var(--panel2),transparent 70%);background-attachment:local,scroll;background-size:100% 98%,100% 600px;background-repeat:no-repeat}@keyframes b35-reveal{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:none}}.reduce-motion .b35-launch{transition:none}.reduce-motion .b35-launch:hover{transform:none}@media(prefers-reduced-motion:reduce){.b35 *{animation:none!important;transition:none!important}.b35-launch:hover{transform:none}}
@media(max-width:850px){.b35-editor,.b35-game-layout{grid-template-columns:1fr}.b35-preview{position:static}.b35-hero{padding:24px 18px}.b35-emblem{width:70px;height:70px;border-radius:20px 4px}.b35-emblem .icon{width:40px;height:40px}.b35-content{padding:18px 12px}.b35-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.b35-tactics{gap:4px;padding:7px}.b35-tactics span{font-size:19px}.b35-preview iframe{height:520px}.b35-clock{font-size:32px}}

body[data-izwallpaper=contour35]{--wallpaper:repeating-radial-gradient(ellipse at 80% 110%,#183837 0 24px,#50877a 25px 26px,#183837 27px 45px)}.iz-wallpaper.art-contour35{background:repeating-radial-gradient(ellipse at 80% 110%,#183837 0 24px,#50877a 25px 26px,#183837 27px 45px)}
body[data-izwallpaper=dawn35]{--wallpaper:linear-gradient(145deg,transparent 40%,#a8605b55 40% 55%,transparent 55%),linear-gradient(15deg,#222745,#73565e,#dcaa81)}.iz-wallpaper.art-dawn35{background:linear-gradient(145deg,transparent 40%,#a8605b55 40% 55%,transparent 55%),linear-gradient(15deg,#222745,#73565e,#dcaa81)}
body[data-izwallpaper=paper35]{--wallpaper:repeating-linear-gradient(0deg,transparent 0 48px,#526a6022 49px 50px),linear-gradient(140deg,#d2caba,#e9e3d5)}.iz-wallpaper.art-paper35{background:repeating-linear-gradient(0deg,transparent 0 48px,#526a6022 49px 50px),linear-gradient(140deg,#d2caba,#e9e3d5)}
body[data-izwallpaper=circuit35]{--wallpaper:repeating-linear-gradient(90deg,transparent 0 88px,#65958522 89px 91px),repeating-linear-gradient(0deg,#123330 0 58px,#3e625a 59px 60px)}.iz-wallpaper.art-circuit35{background:repeating-linear-gradient(90deg,transparent 0 88px,#65958522 89px 91px),repeating-linear-gradient(0deg,#123330 0 58px,#3e625a 59px 60px)}
body[data-izwallpaper=petal35]{--wallpaper:radial-gradient(ellipse at 80% 20%,#bf759a77,transparent 60%),radial-gradient(ellipse at 20% 90%,#8aa88977,transparent 60%),linear-gradient(140deg,#251e38,#41415b)}.iz-wallpaper.art-petal35{background:radial-gradient(ellipse at 80% 20%,#bf759a77,transparent 60%),radial-gradient(ellipse at 20% 90%,#8aa88977,transparent 60%),linear-gradient(140deg,#251e38,#41415b)}
body[data-izwallpaper=nocturne35]{--wallpaper:radial-gradient(circle at 70% 30%,#8097c844,transparent 45%),repeating-linear-gradient(135deg,#111b2b 0 95px,#26374d 96px 98px)}.iz-wallpaper.art-nocturne35{background:radial-gradient(circle at 70% 30%,#8097c844,transparent 45%),repeating-linear-gradient(135deg,#111b2b 0 95px,#26374d 96px 98px)}
body[data-izicons=badge35] .desktop-shortcut .icon,.art-badge35>.icon{padding:8px;box-sizing:content-box;border:3px double var(--accent);border-radius:10px;background:var(--glass)}
body[data-izicons=bracket35] .desktop-shortcut .icon,.art-bracket35>.icon{padding:8px;box-sizing:content-box;border:2px solid var(--accent);border-radius:0 16px;background:var(--glass)}
body[data-izicons=pebble35] .desktop-shortcut .icon,.art-pebble35>.icon{padding:8px;box-sizing:content-box;border:1px solid var(--accent);border-radius:35% 65% 55% 45%;background:var(--glass)}
body[data-izframe=double35] #session-button,.art-double35>.icon{border:4px double var(--accent);border-radius:50%}
body[data-izframe=corner35] #session-button,.art-corner35>.icon{border:2px solid var(--accent);border-radius:0 18px}
body[data-izframe=petal35] #session-button,.art-petal35>.icon{border:2px solid var(--accent);border-radius:45% 10%}
body[data-izwindow=line35] .os-window{border-top:3px solid var(--accent)}.art-line35{border:3px double var(--accent);margin:20px;border-radius:12px}
body[data-izwindow=paper35] .os-window{border-radius:3px;box-shadow:7px 7px 0 #0004}.art-paper35{border:3px double var(--accent);margin:20px;border-radius:12px}
body[data-izwindow=ink35] .os-window{border:3px double var(--accent);border-radius:20px}.art-ink35{border:3px double var(--accent);margin:20px;border-radius:12px}