:root{color-scheme:dark;--ink:#dbd5ca;--muted:#807c74;--line:rgba(222,201,177,.16);--warm:#df9767;--serif:Georgia,'Times New Roman','Yu Mincho',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080909}body{font-family:var(--sans);color:var(--ink);font-size:12px;-webkit-font-smoothing:antialiased}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{border:0;cursor:pointer;background:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:1px solid var(--warm);outline-offset:5px}button:hover{color:#fff0df}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}svg{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;flex-shrink:0}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}body.wind-mode #scene{cursor:crosshair}.ui{transition:opacity .65s ease,transform .65s ease}.topbar{position:absolute;top:max(32px,env(safe-area-inset-top));left:3.7%;right:3.7%;display:flex;align-items:center;justify-content:space-between;z-index:5}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);letter-spacing:5.5px;font-size:17px;font-weight:450}.wordmark svg{width:16px;height:23px;fill:var(--warm);stroke:none}.edition{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:2.7px;color:#979188}.edition-line{height:1px;width:34px;background:var(--line)}.edition-num{margin-left:16px;color:#696760}.text-button{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:1px;padding:8px 0;color:#aaa399}.text-button svg{width:16px;height:16px}.intro{position:absolute;top:36%;left:8%;pointer-events:none;z-index:2;max-width:380px}.eyebrow{font-size:8px;letter-spacing:2.5px;color:#a79482;display:flex;align-items:center;gap:10px}.tiny-line{width:25px;height:1px;background:#b88961}h1{font-family:var(--serif);font-size:clamp(34px,3.45vw,59px);font-weight:400;line-height:1.16;letter-spacing:-1.3px;margin:28px 0 25px;color:#e6ded0}h1 em{font-weight:400;color:#b4a18b}.intro-jp{font-size:13px;letter-spacing:3px;line-height:1.7;margin:0 0 19px;color:#beb4a7}.intro-caption{font-size:10px;letter-spacing:1.2px;line-height:2.3;color:#807a72}.intro-rule{width:30px;height:1px;background:var(--line);margin:27px 0 20px}.live-label{display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:1.8px;color:#7f776d}.live-dot{width:4px;height:4px;display:inline-block;border-radius:50%;background:#d28c58;box-shadow:0 0 10px #e18b4055;animation:breathe 4s infinite}body.paused .live-dot{animation:none;background:#84786b}.bottom{position:absolute;left:3.7%;right:3.7%;bottom:max(30px,calc(env(safe-area-inset-bottom) + 18px));display:flex;justify-content:space-between;align-items:center;z-index:5;border-top:1px solid var(--line);padding-top:23px}.observation{display:flex;gap:15px;align-items:flex-start;min-width:230px}.observation-index{color:#ae805e;font-size:10px;font-family:var(--serif);padding-top:1px}.observation-title{display:block;letter-spacing:2.5px;font-size:9px;color:#b8afa2}.observation-sub{display:block;font-size:9px;color:#746e67;letter-spacing:.8px;margin-top:9px}.controls{display:flex;align-items:center;gap:11px;position:absolute;left:50%;transform:translateX(-50%);height:44px}.mode-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:25px;background:#14131166;backdrop-filter:blur(12px)}.mode{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:20px;transition:background .25s,color .25s;color:#847b70;font-size:10px}.mode svg{width:16px;height:16px}.mode.active{background:rgba(191,160,126,.11);color:#e3c6a6}.control-divider{height:18px;width:1px;background:var(--line);margin:0 6px}.icon-button{width:32px;height:36px;padding:7px 6px;display:flex;align-items:center;justify-content:center;color:#a79b8d}.icon-button[aria-pressed=true],.icon-button[aria-expanded=true]{color:#efb880}.gesture{display:flex;flex-direction:column;align-items:flex-end;gap:8px;color:#8c8377;font-size:9px;letter-spacing:1px}.gesture span+span{font-size:7px;letter-spacing:1.7px;color:#68625b}.settings{position:absolute;right:3.7%;bottom:115px;width:288px;padding:20px 24px 18px;background:rgba(18,17,16,.94);border:1px solid var(--line);box-shadow:0 15px 70px #0006;backdrop-filter:blur(25px);border-radius:5px;z-index:6}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;letter-spacing:2px;font-size:12px}.panel-heading .icon-button{font-size:22px;width:22px;height:22px;padding:0;font-weight:200}.slider-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;margin:21px 0 9px}.slider-label output{color:#8f8172;font-size:9px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:16px;margin:0;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:1px;background:#534437}input[type=range]::-moz-range-track{height:1px;background:#534437}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:8px;border-radius:50%;background:#c4a281;margin-top:-3.5px;box-shadow:0 0 0 4px #b6895610}input[type=range]::-moz-range-thumb{border:0;width:8px;height:8px;border-radius:50%;background:#c4a281}.panel-divider{height:1px;background:var(--line);margin:22px 0}.select-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px}select{background:#211e1a;border:1px solid var(--line);border-radius:3px;padding:6px 9px;font-size:10px}.panel-note{color:#787169;line-height:1.9;font-size:9px;margin:16px 0 18px}.reset-button{padding:0;border-top:1px solid var(--line);padding-top:15px;width:100%;display:flex;justify-content:space-between;font-size:9px;color:#9b8a79;letter-spacing:1px}.reset-button span{font-size:16px}.loading{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;background:#080909;color:#ad9681;font-size:11px;letter-spacing:2px;transition:opacity 1s;pointer-events:none}.loading-ember{width:5px;height:5px;background:#e39558;border-radius:50%;box-shadow:0 0 18px #d77934;animation:breathe 1.8s infinite}.loading.done{opacity:0}.error-card{position:absolute;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,88vw);padding:30px;background:#151412;border:1px solid var(--line);line-height:1.9}.error-card h2{font-size:18px;font-weight:400}.error-card p{color:#b7a693}.error-card button{padding:10px 15px;border:1px solid var(--line);margin-top:12px}body.immersive .ui{opacity:0;pointer-events:none;transform:translateY(8px)}body.immersive .controls{transform:translateX(-50%)}#restore-ui{position:absolute;right:24px;top:max(24px,env(safe-area-inset-top));z-index:10;width:42px;height:42px;border:1px solid #b5976a30;border-radius:50%;color:#c4ab88;background:#0c0c0b40;opacity:.3;transition:opacity .3s}#restore-ui:hover,#restore-ui:focus-visible{opacity:1}#toast{position:absolute;bottom:137px;left:50%;transform:translate(-50%,8px);border:1px solid var(--line);padding:12px 19px;color:#bca791;font-size:10px;letter-spacing:1px;background:#171410db;backdrop-filter:blur(15px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:9;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#wind-cursor{position:fixed;width:64px;height:64px;border:1px solid #eccba12b;border-radius:50%;pointer-events:none;z-index:4;display:none;transform:translate(-50%,-50%)}body.wind-mode #wind-cursor.visible{display:block}#wind-cursor span{position:absolute;inset:28px;background:#dca67366;border-radius:50%}.noscript{position:absolute;top:45%;width:100%;text-align:center;color:#d7ba94;z-index:22}@keyframes breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media(min-width:1800px){.intro{left:10%}}@media(max-width:1000px){.intro{left:6%;max-width:290px}h1{font-size:37px}.edition{display:none}.observation{min-width:170px}.gesture{font-size:8px}.controls{gap:6px}.intro-caption{font-size:9px}}@media(max-width:700px){.topbar{top:max(24px,calc(env(safe-area-inset-top) + 12px));left:24px;right:24px}.wordmark{font-size:14px;letter-spacing:4px;gap:10px}.wordmark svg{width:13px}.text-button{font-size:10px;gap:9px}.intro{top:115px;left:27px;max-width:none}.intro .eyebrow{font-size:7px;letter-spacing:2px}.intro h1{font-size:29px;line-height:1.14;margin:17px 0 16px;letter-spacing:-.5px}.intro-jp{font-size:10px;letter-spacing:2px;margin-bottom:0}.intro-caption,.intro-rule,.live-label{display:none}.bottom{left:22px;right:22px;bottom:max(25px,calc(env(safe-area-inset-bottom) + 14px));height:111px;align-items:flex-start;padding-top:18px}.observation{gap:10px;min-width:0}.observation-title{font-size:8px}.observation-sub{font-size:8px;margin-top:6px}.observation-index{font-size:9px}.controls{top:57px;gap:10px;white-space:nowrap}.gesture{font-size:8px;gap:7px}.gesture span+span{font-size:6px;letter-spacing:1px}.mode{padding:9px 14px}.settings{right:22px;bottom:160px;width:calc(100vw - 44px);max-width:310px}.panel-heading{font-size:12px}.slider-label,.select-label{font-size:12px}#toast{bottom:170px;font-size:9px;max-width:calc(100vw - 28px);white-space:normal;line-height:1.7;text-align:center;width:max-content}}@media(max-width:700px) and (max-height:720px){.intro{top:95px}.intro h1{font-size:24px}.intro .eyebrow{display:none}.bottom{height:95px}.controls{top:43px}.intro-jp{font-size:9px}}@media(max-height:520px) and (min-width:701px){.intro{top:25%}h1{font-size:29px;margin:17px 0}.intro-caption,.intro-rule,.live-label{display:none}.topbar{top:18px}.bottom{bottom:14px;padding-top:12px}.settings{bottom:85px;max-height:calc(100dvh - 110px);overflow:auto}}@media(prefers-reduced-motion:reduce){.ui,.loading,#toast{transition:none}.live-dot,.loading-ember{animation:none}}

/* IGNIS II — small material shelf, with no scores or intrusive game HUD. */
.intro{top:20.5%;max-width:390px}.intro h1{font-size:clamp(32px,3.25vw,52px);margin:24px 0 20px}.intro-rule,.live-label{display:none}.intro-caption{margin-top:12px}.intro-jp{font-size:12px}
.material-tray{position:absolute;z-index:5;left:8%;bottom:19%;width:342px;pointer-events:auto}
.tray-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:#c0b1a0;letter-spacing:2px;font-size:10px}.tray-english{font-size:6.5px;color:#766b60;letter-spacing:1.6px}
.material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.material-card{position:relative;padding:13px 1px 11px;border:1px solid #e4c39c14;border-radius:5px;background:linear-gradient(155deg,#c9ad8610,#0b0b0b08);color:#9f9587;transition:border-color .2s,background .2s,transform .2s;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;min-height:89px}.material-card:hover{border-color:#e0b68150;transform:translateY(-3px)}.material-card:active{cursor:grabbing}.material-card.selected{border-color:#caa06f65;background:linear-gradient(155deg,#d4a36920,#130f0a28);color:#e7cbb1}.material-card canvas{width:100%;height:51px;display:block;pointer-events:none;filter:drop-shadow(0 5px 5px #0008)}.material-index{position:absolute;left:8px;top:7px;font-family:var(--serif);font-size:8px;line-height:1;color:#9b836967}.material-name{font-size:9px;letter-spacing:.7px;display:block;white-space:nowrap;pointer-events:none}.material-description{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:9px;color:#9e8e7d;margin-top:14px;line-height:1.6}.material-description button{color:#d8b58e;font-size:10px;padding:6px 0 6px 10px;white-space:nowrap}.material-description button span{margin-left:7px}.tray-help{font-size:8px;color:#857c71;letter-spacing:.7px;line-height:1.8;margin:10px 0 0}.tray-help span{color:#6a635a;margin-left:5px}.burn-status{border-top:1px solid #cfaa7714;display:flex;gap:8px;align-items:center;margin-top:13px;padding-top:12px;color:#897361;font-size:8px;letter-spacing:.5px;min-height:23px}.status-dot{display:block;flex-shrink:0;width:3px;height:3px;background:#b68153;border-radius:50%;box-shadow:0 0 8px #bf7d3f50}.burn-status.active{color:#ba9877}.burn-status.active .status-dot{background:#dc9b62;box-shadow:0 0 9px #e6955b80}
body.feed-mode #scene{cursor:crosshair}.bottom .controls{gap:7px}.mode{padding:9px 12px}.bottom .observation{min-width:205px}.clear-fuel{margin-bottom:15px}.settings{max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain}
#throw-guide{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;stroke:#edc490;stroke-width:1;fill:none;opacity:.34}#throw-path{stroke-dasharray:2 10;stroke-linecap:round}#throw-target{stroke-width:.8}#throw-hint{position:fixed;z-index:8;pointer-events:none;color:#d9ba98;font-size:9px;letter-spacing:1.3px;transform:translate(-50%,25px);text-shadow:0 2px 15px #000}body.holding .material-card.selected{border-color:#e0b681aa}.material-card:focus-visible{outline-offset:3px}
@media(min-width:1800px){.material-tray{left:10%;width:380px}}
@media(max-width:1100px) and (min-width:761px){.material-tray{left:6%;width:290px}.intro{left:6%;max-width:310px}.intro h1{font-size:35px}.intro-caption{font-size:9px}.bottom .observation{min-width:130px}.observation-sub{font-size:8px}.bottom .controls{gap:3px}.mode{padding:9px 9px}.gesture{max-width:160px;text-align:right}.control-divider{margin:0 2px}}
@media(max-height:750px) and (min-width:761px){.intro{top:18%}.intro h1{font-size:34px;margin:18px 0 15px}.intro-caption{display:none}.material-tray{bottom:20%;}.tray-heading{margin-bottom:10px}.material-card{min-height:80px;padding-bottom:8px}.material-card canvas{height:44px}.tray-help{margin-top:5px}.burn-status{padding-top:8px;margin-top:8px}}
@media(max-width:760px), (max-width:900px) and (orientation:portrait){
 .topbar{top:max(24px,calc(env(safe-area-inset-top) + 12px));left:24px;right:24px}.wordmark{font-size:14px}.edition{display:none}.intro{top:99px;left:27px;max-width:calc(100% - 45px)}.intro .eyebrow{font-size:7px}.intro h1{font-size:29px;line-height:1.14;letter-spacing:-.5px;margin:17px 0 12px}.intro h1 br,.intro h1 em{display:none}.intro-jp{font-size:10px;letter-spacing:2px}.intro-caption{display:none}
 .material-tray{left:22px;right:22px;bottom:max(144px,calc(env(safe-area-inset-bottom) + 132px));width:auto;max-width:480px;margin:0 auto;background:linear-gradient(0deg,#080909a8,transparent)}.tray-heading{font-size:10px;margin-bottom:9px}.tray-english{font-size:6px}.material-grid{gap:7px}.material-card{min-height:76px;padding:9px 0 8px}.material-card canvas{height:43px}.material-name{font-size:9px}.material-description{margin-top:7px;font-size:8px}.material-description button{padding:5px 0 5px 7px;font-size:10px}.tray-help{font-size:7px;margin-top:5px;letter-spacing:.4px}.tray-help span{margin-left:3px}.burn-status{font-size:7px;padding-top:9px;margin-top:8px;min-height:18px}
 .bottom{left:22px;right:22px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));height:102px;padding-top:14px;align-items:flex-start}.bottom .observation{min-width:0;gap:9px}.observation-title{font-size:8px}.observation-sub{font-size:8px;margin-top:6px}.observation-index{font-size:9px}.controls{top:51px;white-space:nowrap}.bottom .controls{gap:6px}.mode{padding:9px 10px;gap:6px}.mode svg{width:14px;height:14px}.mode span{font-size:10px}.control-divider{margin:0 1px}.icon-button{width:29px}.gesture{font-size:8px;gap:7px;max-width:164px}.gesture span+span{font-size:6px;letter-spacing:1px}.settings{right:22px;bottom:150px;width:calc(100vw - 44px);max-width:325px;max-height:calc(100dvh - 205px)}#toast{bottom:355px;white-space:normal;max-width:calc(100% - 35px);width:max-content;line-height:1.7;text-align:center;font-size:9px}
}
@media(max-width:760px) and (max-height:730px){.intro{top:80px}.intro h1{font-size:26px;margin:10px 0 8px}.intro .eyebrow{display:none}.intro-jp{font-size:9px}.material-tray{bottom:max(133px,calc(env(safe-area-inset-bottom) + 118px))}.tray-heading{margin-bottom:7px}.material-card{min-height:68px;padding-top:6px}.material-card canvas{height:36px}.tray-help{display:none}.burn-status{margin-top:6px;padding-top:7px}.bottom{height:92px}.controls{top:44px}}
@media(max-height:540px) and (min-width:761px){.topbar{top:18px}.intro{top:23%;}.intro h1{font-size:28px;margin:14px 0}.intro-jp{font-size:9px}.intro .eyebrow{font-size:6px}.material-tray{bottom:21%;width:260px}.material-card{min-height:55px;padding:6px 0}.material-card canvas{height:26px}.material-name{font-size:8px}.tray-heading{display:none}.tray-help,.burn-status{display:none}.material-description{font-size:7px;margin-top:3px}.material-description button{font-size:8px}.bottom{bottom:12px;padding-top:12px}.bottom .gesture{display:none}.bottom .controls{left:69%}.settings{bottom:75px;max-height:calc(100dvh - 100px)}}
@media(max-width:360px){.bottom .controls{gap:3px}.mode{padding:9px 8px;gap:4px}.mode svg{width:12px}.icon-button{width:27px}.material-name{font-size:8px}.tray-english{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.material-card{transition:none}}

/* Orbit overrides feed / air cursors without changing the selected mode. */
body.orbit-dragging #scene{cursor:grabbing}
body.orbit-dragging #wind-cursor{opacity:0}
