/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--cream:#f4efdf;--paper:#fbf8ee;--navy:#173745;--navy-2:#204b5c;--orange:#ef7138;--yellow:#f2bd3f;--muted:#718188;--line:#d9d5c8}*{box-sizing:border-box}html{background:var(--cream)}body{background:var(--cream);color:var(--navy);font-family:var(--font-vietnam), system-ui, sans-serif;margin:0}button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}.auth-page{grid-template-columns:.9fr 1.1fr;align-items:center;gap:48px;max-width:1180px;min-height:calc(100vh - 112px);margin:0 auto;padding:52px 36px 64px;display:grid}.auth-showcase h1{letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(42px,5vw,68px);line-height:.97}.auth-showcase h1 em{color:var(--orange);font-style:normal}.auth-showcase>p:not(.eyebrow){color:#677a80;max-width:520px;font-size:12px;line-height:1.7}.auth-dino-stage{background:radial-gradient(circle at 50% 70%,#f2bd3f 0 15%,#dfece7 16% 43%,#1f4a59 44% 100%);border:8px solid #e9e2d0;outline:1px solid #cbc3b2;max-width:420px;height:280px;margin-top:25px;position:relative;overflow:hidden}.auth-dino-stage img{object-fit:cover;object-position:center;filter:drop-shadow(0 12px 12px #0c252e47);width:58%;height:100%;margin:0 auto;display:block}.auth-dino-stage span{color:#bdd0d5;font:700 8px var(--font-mono);letter-spacing:.08em;background:#11333fe6;justify-content:space-between;padding:9px 12px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.auth-dino-stage b{color:#fff}.auth-card{border:1px solid #d4cdbd;border-top:7px solid var(--orange);background:#fbf8eef0;min-height:520px;padding:28px;box-shadow:12px 14px #17374517}.auth-tabs{border-bottom:1px solid #d7d0bf;grid-template-columns:1fr 1fr;display:grid}.auth-tabs button{color:#7d898d;font:800 8px var(--font-mono);letter-spacing:.1em;background:0 0;border:0;padding:11px}.auth-tabs button.active{color:var(--orange);box-shadow:inset 0 -3px var(--orange)}.auth-heading{margin:22px 0 17px}.auth-heading small{color:var(--orange);font:800 7px var(--font-mono);letter-spacing:.15em}.auth-heading h2{text-transform:uppercase;margin:2px 0 0;font-size:27px}.auth-form{gap:13px;display:grid}.auth-form>label{color:#61757c;font:800 7px var(--font-mono);letter-spacing:.11em;gap:6px;display:grid}.auth-form input{width:100%;height:44px;color:var(--navy);font:600 13px var(--font-vietnam);background:#fff;border:1px solid #cfc8b8;border-radius:4px;padding:0 12px}.auth-form input:focus{border-color:var(--orange);outline:3px solid #ef713829}.auth-form .field-hint{color:#859195;font:500 7px/1.5 var(--font-vietnam);letter-spacing:0;text-transform:none}.dino-picker{border:1px solid #d8d1c1;margin:2px 0 0;padding:9px}.dino-picker legend{color:#6e7f84;font:800 7px var(--font-mono);letter-spacing:.1em;padding:0 5px}.dino-picker>div{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.dino-picker button{color:#6f7e83;background:#f7f3e8;border:1px solid #d6cfbf;border-radius:4px;min-width:0;padding:3px;overflow:hidden}.dino-picker button.active{color:#fff;background:var(--orange);border-color:#c95327;box-shadow:0 0 0 2px #ef71382b}.dino-picker img{aspect-ratio:1.15;object-fit:cover;object-position:center 31%;width:100%;display:block}.dino-picker span{text-overflow:ellipsis;font:700 5px var(--font-mono);white-space:nowrap;display:block;overflow:hidden}.auth-submit{color:#fff;background:var(--navy);width:100%;font:900 9px var(--font-mono);letter-spacing:.1em;border:0;border-radius:5px;padding:14px;box-shadow:0 4px #0b222b}.auth-error{color:#a83d2a;background:#fff0e7;border:1px solid #e0a08d;margin:0;padding:9px;font-size:8px}.auth-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:450px;display:flex}.auth-state>span:not(.auth-spinner){color:#fff;background:#d9533a;border-radius:50%;place-items:center;width:50px;height:50px;font-size:25px;font-weight:900;display:grid}.auth-state h2{text-transform:uppercase;margin:15px 0 5px}.auth-state p{color:#718086;font-size:10px;line-height:1.6}.auth-state .auth-submit{width:auto;margin-top:10px}.auth-spinner{border:5px solid #d8d1c0;border-top-color:var(--orange);border-radius:50%;width:45px;height:45px;animation:.8s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.game-shell{background-color:var(--cream);background-image:linear-gradient(#17374507 1px,#0000 1px),linear-gradient(90deg,#17374507 1px,#0000 1px);background-size:24px 24px;min-height:100vh;transition:background-color .35s,filter .35s}.game-shell.effect-blue{background-color:#cef}.game-shell.effect-purple{background-color:#ead8ff}.game-shell.effect-fire{background-color:#ffe0b8}.game-shell.effect-green{background-color:#d9f3c9}.game-shell.effect-brown{background-color:#efd7bf}.game-shell.effect-white{background-color:#f7fbff}.game-shell.effect-aqua{background-color:#d5f8f5}.topbar{z-index:5;background:#f9f5e8;border-bottom:1px solid #d7d2c3;grid-template-columns:260px 1fr 260px;align-items:stretch;height:76px;display:grid;position:relative;box-shadow:0 3px 14px #1e323714}.brand{color:var(--navy);border-right:1px solid #ddd7c7;align-items:center;gap:11px;padding-left:24px;text-decoration:none;display:flex}.brand-button{text-align:left;background:0 0;border-top:0;border-bottom:0;border-left:0}.brand-mark{background:var(--orange);color:#fff;border-radius:15px 17px 16px 12px;place-items:center;width:43px;height:43px;font-size:25px;font-weight:900;display:grid;transform:rotate(-5deg);box-shadow:inset -5px -5px #7a2d111f}.brand>span:last-child{letter-spacing:.08em;flex-direction:column;font-size:10px;line-height:1;display:flex}.brand b{letter-spacing:-.05em;color:var(--orange);margin-top:3px;font-size:26px}.top-title{text-align:center;flex-direction:column;justify-content:center;gap:3px;display:flex}.top-title span{color:var(--orange);letter-spacing:.2em;font-size:10px;font-weight:900}.top-title strong{letter-spacing:.12em;font-size:14px}.top-actions{border-left:1px solid #ddd7c7;justify-content:center;align-items:center;gap:9px;display:flex}.start-audio-actions{justify-content:flex-end;padding:0 18px}.music-label{color:#708086;font:700 7px var(--font-mono);letter-spacing:.08em;white-space:nowrap}.music-toggle.active{color:#fff;background:#3da379;border-color:#30896b;box-shadow:0 0 0 3px #3d9f791f}.start-badge{color:#78868a;font:700 9px var(--font-mono);letter-spacing:.18em;border-left:1px solid #ddd7c7;place-items:center;display:grid}.icon-btn{width:38px;height:38px;color:var(--navy);background:#fff;border:1px solid #cfc8b7;border-radius:50%;font-weight:900}.help-icon{color:#9b6e15;background:#fff2d0;border-color:#ddc47d}.table-icon{color:#5c4389;font:800 8px var(--font-mono);background:#e6def7;border-color:#b7a5d9}.home-icon{color:#31695d;background:#e7efec}.restart-top{background:var(--navy);color:#fff;letter-spacing:.08em;border:0;border-radius:7px;padding:12px 17px;font-size:11px;font-weight:900;box-shadow:0 4px #0d252f}.restart-top span{color:var(--yellow);margin-right:6px;font-size:16px}.content-grid{grid-template-columns:254px minmax(520px,1fr) 282px;max-width:1500px;min-height:calc(100vh - 112px);margin:0 auto;display:grid}.start-page{max-width:1260px;margin:0 auto;padding:58px 38px 70px}.profile-strip{background:#ffffff8c;border:1px solid #d5cebd;border-left:5px solid #43a079;grid-template-columns:1fr auto;align-items:center;gap:16px;min-height:76px;padding:10px 14px;display:grid}.profile-identity{align-items:center;gap:10px;display:flex}.profile-identity img{object-fit:cover;object-position:center 30%;border:2px solid var(--navy);border-radius:50%;width:52px;height:52px}.profile-identity span{flex-direction:column;display:flex}.profile-identity small{color:#7c898d;font:700 6px var(--font-mono);letter-spacing:.12em}.profile-identity strong{font-size:13px}.profile-identity em{color:var(--orange);font:normal 700 7px var(--font-mono)}.logout-button{color:#6a7b81;font:800 7px var(--font-mono);background:#faf7ee;border:1px solid #cfc8b8;border-radius:4px;padding:9px 12px}.start-hero{grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);align-items:center;gap:58px;min-height:590px;display:grid}.start-copy h1{letter-spacing:-.065em;text-transform:uppercase;margin:0;font-size:clamp(45px,5.1vw,76px);line-height:.96}.start-copy h1 em{color:var(--orange);font-style:normal}.start-lead{color:#65777e;max-width:600px;margin:24px 0;font-size:13px;line-height:1.75}.start-facts{border-top:1px solid #d7d1c1;border-bottom:1px solid #d7d1c1;gap:0;display:flex}.start-facts span{color:#738287;font:700 8px var(--font-mono);letter-spacing:.08em;flex:1;padding:13px 12px 13px 0}.start-facts span+span{border-left:1px solid #d7d1c1;padding-left:14px}.start-facts b{color:var(--navy);margin-right:5px;font-size:18px}.start-speed{max-width:400px;margin-top:24px}.start-speed>div:first-child{font:700 8px var(--font-mono);letter-spacing:.1em;justify-content:space-between;margin-bottom:8px;display:flex}.start-speed>div:first-child strong{color:var(--orange)}.level-select{background:#ffffff80;border:1px solid #d3ccbb;margin-top:17px;padding:13px}.level-select-title{font:700 8px var(--font-mono);letter-spacing:.09em;justify-content:space-between;margin-bottom:9px;display:flex}.level-select-title strong{color:var(--orange)}.level-buttons{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.level-buttons button{color:#6e7e83;background:#f8f5eb;border:1px solid #cbc5b7;border-radius:5px;flex-direction:column;justify-content:center;gap:3px;min-height:54px;display:flex}.level-buttons button b{font:800 8px var(--font-mono);letter-spacing:.07em}.level-buttons button small{font-size:6px;line-height:1.35}.level-buttons button.active{background:var(--orange);color:#fff;border-color:#d75e30;box-shadow:inset 0 -3px #7425102e}.start-actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.periodic-link{color:#5d4688;background:#f1ebfb;border-color:#b7a8d2}.play-button{background:var(--orange);color:#fff;letter-spacing:.1em;border:0;border-radius:6px;padding:15px 25px;font-size:11px;font-weight:900;box-shadow:0 5px #a74320}.play-button span{color:#fff1bd;margin-right:8px}.play-button:hover{transform:translateY(-1px);box-shadow:0 6px #a74320}.guide-link{color:var(--navy);letter-spacing:.08em;background:#fff9;border:1px solid #c9c2b1;border-radius:6px;padding:13px 18px;font-size:9px;font-weight:900}.start-preview{background-color:#f8f5eb;background-image:radial-gradient(circle,#1f475614 1px,#0000 1.5px);background-size:20px 20px;border:10px solid #ede6d3;outline:1px solid #cec7b7;min-height:540px;position:relative;overflow:hidden;box-shadow:14px 18px #17374514}.start-preview:before,.start-preview:after{content:"";background:#244a58;width:7px;position:absolute;top:0;bottom:0}.start-preview:before{left:0}.start-preview:after{right:0}.preview-label{background:var(--navy);color:#bcd0d5;height:32px;font:700 8px var(--font-mono);letter-spacing:.13em;border-bottom:4px solid #e5ad3d;align-items:center;padding:0 16px;display:flex}.preview-eggs{flex-wrap:wrap;justify-content:center;gap:0;width:430px;margin:22px auto 0;display:flex}.start-egg{width:58px;height:58px;margin:-2px;display:inline-block}.start-egg .ion-egg{font-size:12px}.preview-shot{color:var(--orange);flex-direction:column;align-items:center;display:flex;position:absolute;top:305px;left:50%;transform:translate(-50%)}.preview-shot i{font:900 20px var(--font-mono);margin-top:7px;transform:rotate(-90deg)}.preview-reaction{background:#ffffffe0;border:1px solid #b9cfc6;border-left:4px solid #3da379;flex-direction:column;align-items:center;padding:14px;display:flex;position:absolute;bottom:52px;left:25px;right:25px}.preview-reaction small{color:#3c8e70;font:700 7px var(--font-mono);letter-spacing:.15em}.preview-reaction strong{color:#2d6758;font:700 16px var(--font-mono);margin:5px 0 3px}.preview-reaction span{color:#76868a;font-size:8px}.preview-danger{color:#c94b34;text-align:right;font:700 7px var(--font-mono);letter-spacing:.1em;border-top:2px dashed #df5d43;padding:4px 10px 0;position:absolute;bottom:26px;left:8px;right:8px}.start-info-grid{border-top:1px solid #d5cfbf;grid-template-columns:.9fr 1.1fr;gap:24px;padding-top:50px;display:grid}.start-rules,.start-notebook{background:#faf7ecb8;border:1px solid #d7d1c2;padding:27px}.section-heading{align-items:center;gap:12px;display:flex}.section-heading>span{background:var(--navy);width:42px;height:42px;color:var(--yellow);font:700 14px var(--font-mono);border-radius:6px;place-items:center;display:grid}.section-heading small{color:var(--orange);font:700 7px var(--font-mono);letter-spacing:.14em}.section-heading h2{text-transform:uppercase;margin:2px 0 0;font-size:20px}.rule-cards{gap:8px;margin-top:22px;display:grid}.rule-cards article{background:#ffffff73;border:1px solid #ded8ca;gap:13px;padding:14px;display:flex}.rule-cards article>b{color:#367364;background:#deebe6;border-radius:50%;flex:none;place-items:center;width:33px;height:33px;display:grid}.rule-cards article div{flex-direction:column;gap:3px;display:flex}.rule-cards strong{letter-spacing:.07em;font-size:9px}.rule-cards p{color:#718086;margin:0;font-size:8px;line-height:1.55}.power-guide{grid-template-columns:1fr 1fr;gap:5px;margin-top:10px;display:grid}.power-guide span{font:700 7px var(--font-mono);letter-spacing:.04em;background:#f9f4e7;border:1px solid #d7d1c2;padding:8px 9px}.power-guide span:nth-child(n+3){color:#a14929;text-align:center;background:#fff0dc;border-color:#e2b08b;grid-column:1/-1}.start-note{margin-top:15px}.start-notebook>p{color:#7a888c;margin:16px 0 10px;font-size:9px}.notebook-category-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.notebook-category-list button{border:1px solid var(--category);align-items:center;gap:8px;min-width:0;padding:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.notebook-category-list button{border:1px solid color-mix(in srgb, var(--category) 48%, #d8d1c0)}}.notebook-category-list button{border-left:4px solid var(--category);color:var(--navy);text-align:left;background:#ffffff8c}.notebook-category-list button>b{color:#fff;background:var(--category);width:27px;height:27px;font:800 9px var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.notebook-category-list button>span{flex-direction:column;min-width:0;display:flex}.notebook-category-list strong{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;font-size:7px;overflow:hidden}.notebook-category-list small{color:#7d898d;font:600 6px var(--font-mono)}.memory-chain{background:#f5f0e3;border:1px solid #d9d2c2;grid-template-columns:repeat(4,1fr);margin-top:8px;display:grid}.memory-chain span{color:#6d7d82;text-align:center;min-width:0;padding:7px 3px;font-size:6px}.memory-chain span+span{border-left:1px solid #d9d2c2}.memory-chain b{min-height:18px;color:var(--orange);font:900 10px var(--font-mono);display:block}.open-reaction-library{color:#fff;background:var(--navy);width:100%;font:900 8px var(--font-mono);letter-spacing:.08em;border:0;border-radius:4px;margin-top:8px;padding:11px;box-shadow:0 4px #0e2832}.explosion-note{background:#fff0da;border:1px solid #e5a87d;border-left:5px solid #ef5638;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;display:flex}.explosion-note>span{color:#d94f32;font-size:22px}.explosion-note p{color:#705a4b;margin:0;font-size:8px;line-height:1.55}.explosion-note p strong,.explosion-note p b{display:block}.explosion-note p strong{color:#c8442d;font:700 8px var(--font-mono);letter-spacing:.1em}.explosion-note p b{color:#9a3b28;font:700 10px var(--font-mono);margin:3px 0}.bottom-play{color:#758388;font:700 9px var(--font-mono);justify-content:flex-end;align-items:center;gap:18px;margin-top:24px;display:flex}.play-button.compact{padding:12px 19px;font-size:9px}.profile-lab{grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:24px;display:grid}.avatar-lab,.leaderboard-card{background:#faf7ecbd;border:1px solid #d7d1c2;padding:25px}.avatar-row{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px;display:grid}.avatar-row button{color:#728086;background:#f8f4e9;border:1px solid #d3ccbc;border-radius:5px;min-width:0;padding:4px;overflow:hidden}.avatar-row button.active{color:#fff;background:var(--orange);border-color:#c95327;box-shadow:0 0 0 3px #ef713829}.avatar-row img{aspect-ratio:1;object-fit:cover;object-position:center 30%;width:100%;display:block}.avatar-row span{text-overflow:ellipsis;white-space:nowrap;font:700 5px var(--font-mono);margin:3px 0 1px;display:block;overflow:hidden}.leaderboard-head{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.leaderboard-head small{color:var(--orange);font:700 7px var(--font-mono);letter-spacing:.12em}.leaderboard-head h2{text-transform:uppercase;margin:2px 0 0;font-size:20px}.period-tabs{gap:3px;display:flex}.period-tabs button{color:#748287;font:800 6px var(--font-mono);background:#f8f5eb;border:1px solid #cbc5b7;padding:6px 8px}.period-tabs button.active{color:#fff;border-color:var(--navy);background:var(--navy)}.my-rank{color:#718085;background:var(--navy);font:700 6px var(--font-mono);letter-spacing:.05em;grid-template-columns:repeat(3,1fr);margin-top:13px;padding:9px;display:grid}.my-rank span{text-align:center;flex-direction:column;gap:2px;display:flex}.my-rank b{color:var(--yellow);font-size:13px}.leaderboard-list{gap:4px;margin-top:8px;display:grid}.leaderboard-list>div{background:#ffffff85;border:1px solid #ddd6c7;grid-template-columns:28px 34px 1fr auto;align-items:center;gap:7px;min-height:38px;padding:4px 8px;display:grid}.leaderboard-list>div.mine{background:#fff0df;border-color:#e29b6d}.leaderboard-list>div>b{color:var(--orange);font:900 9px var(--font-mono)}.leaderboard-list img{object-fit:cover;object-position:center 30%;border-radius:50%;width:32px;height:32px}.leaderboard-list span{flex-direction:column;min-width:0;display:flex}.leaderboard-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.leaderboard-list small{color:#829094;font-size:6px}.leaderboard-list em{color:var(--navy);font:normal 900 10px var(--font-mono)}.leaderboard-list>p{color:#748388;text-align:center;padding:22px 8px;font-size:8px}.game-view{max-width:1180px;min-height:calc(100vh - 112px);margin:0 auto;padding:14px 24px 44px}.game-hud{grid-template-columns:1fr 1.15fr 1.2fr;gap:8px;margin-bottom:9px;display:grid}.start-warning,.play-warning{color:#963c2c;font:700 8px/1.5 var(--font-vietnam);background:#fff0e8;border:1px solid #dfa18f;border-radius:5px;margin:10px 0 0;padding:10px 12px}.play-warning{align-items:center;gap:8px;margin:0 0 8px;display:flex}.play-warning>span{color:#fff;width:18px;height:18px;font:900 8px var(--font-mono);background:#da5339;border-radius:50%;flex:none;place-items:center;display:grid}.game-hud>div{background:#ffffff94;border:1px solid #d3cebf;align-items:center;min-height:55px;padding:9px 12px;display:flex}.hud-score{color:#9fb3ba;font:700 7px var(--font-mono);letter-spacing:.1em;gap:18px;background:var(--navy)!important}.hud-score span{flex-direction:column;gap:2px;display:flex}.hud-score strong{color:#fff;letter-spacing:0;font-size:17px}.hud-score span:last-child strong{color:var(--yellow)}.hud-speed{gap:10px}.hud-speed>small{color:#78878b;font:700 7px var(--font-mono);letter-spacing:.1em}.hud-speed .speed-buttons{flex:1}.hud-flow{color:var(--orange);font:700 7px var(--font-mono);letter-spacing:.07em;gap:8px}.hud-flow>i{background:#ded8c8;border-radius:5px;flex:1;height:6px;overflow:hidden}.hud-flow>i b{background:var(--orange);height:100%;display:block}.hud-flow>strong{color:var(--navy);white-space:nowrap;font-size:8px}.hud-flow>button{color:#2e755e;font:900 6px var(--font-mono);white-space:nowrap;background:#e7f2ed;border:1px solid #b7cabf;border-radius:3px;flex:none;padding:6px 7px}.game-column{max-width:1040px;margin:0 auto;padding:0}.game-play-grid{grid-template-columns:minmax(0,680px) minmax(240px,280px);justify-content:center;align-items:start;gap:12px;display:grid}.game-play-grid>.stage{justify-self:end;width:min(100%,680px,70vh);margin:8px 0 0}.mission-panel,.formula-panel{background:#faf7ecb8;padding:36px 26px 28px}.mission-panel{border-right:1px solid var(--line)}.formula-panel{border-left:1px solid var(--line)}.eyebrow{font:700 10px var(--font-mono);color:var(--orange);letter-spacing:.22em;margin:0 0 9px}.mission-panel h1{text-transform:uppercase;letter-spacing:-.055em;margin:0;font-size:30px;font-weight:900;line-height:1.05}.mission-panel h1 em{color:var(--orange);font-style:normal}.intro{color:#65777e;margin:16px 0 23px;font-size:11px;line-height:1.7}.score-card{background:var(--navy);border-radius:8px;grid-template-columns:1.5fr 1fr;display:grid;overflow:hidden;box-shadow:0 7px #1737451f}.score-card>div{flex-direction:column;padding:13px 14px;display:flex}.score-card>div+div{border-left:1px solid #ffffff1f}.score-card span{font:700 8px var(--font-mono);letter-spacing:.16em;color:#9eb2b9}.score-card strong{color:#fff;font:700 22px var(--font-mono);margin-top:2px}.score-card strong.combo{color:var(--yellow)}.speed-control{background:#ffffff85;border:1px solid #d4cebe;border-radius:7px;margin-top:18px;padding:12px}.speed-control>div:first-child{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.speed-control span{font:700 8px var(--font-mono);letter-spacing:.12em}.speed-control strong{color:var(--orange);font:700 8px var(--font-mono)}.speed-buttons{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.speed-buttons button{color:#718087;font:700 7px var(--font-mono);letter-spacing:.05em;background:#f8f5eb;border:1px solid #cbc5b7;border-radius:4px;padding:6px 2px}.speed-buttons button.active{color:#fff;background:var(--orange);border-color:#ce592b;box-shadow:inset 0 -2px #7326102e}.help-button{width:100%;color:var(--navy);text-align:left;background:#ffffff94;border:1px solid #d4cdbb;border-radius:7px;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;margin-top:22px;padding:12px 10px;display:grid;box-shadow:0 3px #17374514}.help-button>span{color:#fff;background:var(--orange);width:28px;height:28px;font:900 15px var(--font-mono);border-radius:50%;place-items:center;display:grid}.help-button div{flex-direction:column;gap:2px;display:flex}.help-button strong{letter-spacing:.08em;font-size:9px}.help-button small{color:#7b898d;font-size:7px;line-height:1.45}.help-button>b{color:var(--orange)}kbd{color:var(--navy);font:700 8px var(--font-mono);background:#fff;border:1px solid #c7c2b8;border-radius:3px;padding:3px 5px;box-shadow:0 2px #c7c2b8}.play-column{min-width:0;padding:22px 24px 24px}.lab-strip{min-height:31px;font:700 8px var(--font-mono);letter-spacing:.1em;color:#708087;background:#ffffff8c;border:1px solid #d2cebf;align-items:center;gap:6px;padding:7px 12px;display:flex}.lab-strip b{color:var(--navy);margin-left:auto}.hint-button{color:#573c08;min-width:112px;font:900 7px var(--font-mono);letter-spacing:.06em;background:linear-gradient(#fff6bc,#f3c84f);border:1px solid #d09c32;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;padding:6px 8px;transition:transform .15s,filter .15s,opacity .15s;display:inline-flex;box-shadow:0 3px #b98222}:is(.hint-button:hover:not(:disabled),.hint-button:focus-visible:not(:disabled)){filter:brightness(1.05);outline:2px solid #2e8e7047;transform:translateY(-1px)}.hint-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #b98222}.hint-button em{border-left:1px solid #573c0840;padding-left:5px;font-style:normal}.hint-button.active{color:#fff;background:#3ba77f;border-color:#287b61;box-shadow:0 3px #22614e}.hint-button:disabled{cursor:not-allowed;opacity:.62;filter:grayscale(.25)}.mission-banner{min-height:48px;color:var(--navy);background:linear-gradient(100deg,#eef7f1,#fff8df);border:1px solid #cfc8b7;border-left:5px solid #3d9f78;grid-template-rows:1fr 5px;grid-template-columns:34px 1fr auto;align-items:center;gap:4px 10px;margin-top:7px;padding:7px 11px;display:grid;box-shadow:0 3px #274b4114}.mission-banner>span{color:#fff;width:32px;height:32px;font:900 10px var(--font-mono);background:#3d9f78;border-radius:50%;grid-row:1/3;place-items:center;display:grid}.mission-banner>div{grid-template-columns:auto 1fr;align-items:baseline;gap:1px 8px;min-width:0;display:grid}.mission-banner small{color:#648078;font:800 6px var(--font-mono);letter-spacing:.09em;grid-column:1/-1}.mission-banner strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.mission-banner em{color:#718086;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-style:normal;overflow:hidden}.mission-banner>b{color:var(--orange);font:900 13px var(--font-mono)}.mission-banner>i{background:#ddd7c8;border-radius:5px;grid-column:2/4;height:5px;display:block;overflow:hidden}.mission-banner>i u{border-radius:inherit;background:linear-gradient(90deg,#3d9f78,#f1bd3f);height:100%;transition:width .35s;display:block}.mission-banner.complete{background:#fff1bd;border-color:#e2ad35;animation:.6s both missionCelebrate}.mission-banner.complete>span{color:#6c4a05;background:#f1bd3f}@keyframes missionCelebrate{50%{transform:translateY(-2px)scale(1.015);box-shadow:0 8px 18px #d39d2833}}.wave-countdown{align-items:center;gap:8px;min-width:150px;margin-left:auto;margin-right:14px;display:flex}.wave-countdown span{white-space:nowrap;color:var(--orange)}.wave-countdown i{background:#dfd9c9;border-radius:5px;width:64px;height:5px;display:block;overflow:hidden}.wave-countdown i b{background:var(--orange);border-radius:inherit;height:100%;transition:width .1s linear;display:block}.pulse-dot{background:#41a67e;border-radius:50%;width:7px;height:7px;margin-right:8px;box-shadow:0 0 0 4px #41a67e1f}.stage{aspect-ratio:720/1020;touch-action:none;cursor:crosshair;background-color:#f9f7ee;background-image:radial-gradient(circle,#1f475613 1px,#0000 1.6px),linear-gradient(90deg,#1f475606 1px,#0000 1px),linear-gradient(#1f475606 1px,#0000 1px);background-size:19px 19px,76px 76px,76px 76px;border:7px solid #f0ead8;outline:1px solid #d3cdbc;width:min(100%,680px,70vh);min-height:0;margin:8px auto 0;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #2b3e3b0d,0 12px 30px #363d3414}.stage:before,.stage:after{content:"";z-index:3;background:repeating-linear-gradient(#234957 0 22px,#365f6b 22px 25px);width:7px;position:absolute;top:0;bottom:0}.stage:before{left:0}.stage:after{right:0}.stage.danger{animation:1.2s infinite dangerPulse}@keyframes dangerPulse{50%{box-shadow:inset 0 0 45px #da4a2d2e,0 12px 30px #363d3414}}.stage.explosion-active{animation:.7s cubic-bezier(.36,.07,.19,.97) both blastShake;box-shadow:inset 0 0 90px #ef4f1d4d,0 12px 30px #363d3414}@keyframes blastShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.ceiling-rail{z-index:10;background:#244a58;justify-content:space-around;height:17px;display:flex;position:absolute;top:0;left:8px;right:8px;box-shadow:0 4px #f0b641}.ceiling-rail span{background:#c89331;width:7px;height:23px;transform:skew(-20deg)}.board-layer{z-index:4;position:absolute;inset:0}.flow-layer{will-change:transform;transform-origin:top;position:absolute;inset:0}.explosion-canvas{z-index:11;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.falling-layer{z-index:12;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bubble-position{aspect-ratio:1;width:7.77778%;position:absolute;transform:translate(-50%,-50%)}.bubble-position.rex-target .ion-egg{z-index:2;outline-offset:2px;filter:brightness(1.08)saturate(1.12);outline:4px solid #3bcb8fbd;animation:1s ease-in-out infinite rexTargetPulse;position:relative}.bubble-position.rex-target:after{content:"✓";z-index:5;color:#fff;width:18px;height:18px;font:900 8px var(--font-mono);background:#2e9f73;border-radius:50%;place-items:center;display:grid;position:absolute;top:-15%;right:-12%;box-shadow:0 0 0 3px #ffffffd1,0 3px 8px #1c4c3e40}.bubble-position.conditional-target .ion-egg{outline-color:#efab30d1}.bubble-position.conditional-target:after{content:"⚗";color:#573c08;background:#f2bd3f}@keyframes rexTargetPulse{50%{outline-offset:5px;filter:brightness(1.18)saturate(1.25)drop-shadow(0 0 9px #38c58c80)}}.falling-piece{animation:unsupportedFall 1.45s cubic-bezier(.25,.7,.48,1) var(--fall-delay) both;will-change:transform, opacity, filter}.falling-piece:after{content:"";z-index:-1;filter:blur(3px);background:linear-gradient(#499db000,#499db040);border-radius:50%;width:20%;height:76%;position:absolute;top:-30%;left:40%}.falling-piece>.power-item{width:100%;inset:0;transform:none}@keyframes unsupportedFall{0%{opacity:1;filter:saturate();transform:translate(-50%,-50%)rotate(0)scale(1)}15%{opacity:1;transform:translate(-50%,-42%)rotate(8deg)scale(1.05)}72%{opacity:.92;filter:saturate(.8)blur()}to{opacity:0;transform:translate(calc(-50% + var(--fall-x)), 1100px) rotate(var(--fall-spin)) scale(.38);filter:saturate(.25)blur(7px)}}.drop-notice{z-index:15;color:#173745;text-align:center;pointer-events:none;background:#fff6bbf0;border:2px solid #173745;border-radius:8px;gap:3px;min-width:190px;padding:10px 16px;animation:1.9s both dropNoticePop;display:grid;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px #17374538,0 0 30px #f1b73759}.drop-notice strong{color:var(--orange);font:900 clamp(9px, 1.4vw, 15px) var(--font-mono);letter-spacing:.08em}.drop-notice span{font:800 clamp(6px, .85vw, 9px) var(--font-mono)}@keyframes dropNoticePop{0%{opacity:0;transform:translate(-50%,-35%)scale(.75)}10%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-65%)scale(.92)}}.power-item{z-index:9;aspect-ratio:1;border-radius:50%;align-content:center;place-items:center;gap:0;width:8.05556%;padding:0;transition:filter .2s,transform .2s;animation:1.5s ease-in-out infinite itemPulse;display:grid;position:absolute;transform:translate(-50%,-50%)}.power-item.pending{pointer-events:none}:is(.power-item:hover,.power-item:focus-visible){filter:brightness(1.15);outline:3px solid #ffffffd9;transform:translate(-50%,-50%)scale(1.13)}.power-item>span{font:900 clamp(15px, 2.5vw, 27px) var(--font-mono);line-height:.85}.power-item>small{font:900 clamp(5px, .7vw, 8px) var(--font-mono);letter-spacing:.08em}.power-item.bomb{color:#fff0bf;background:radial-gradient(circle at 35% 28%,#ffb43f 0 10%,#e84d2e 11% 34%,#481e22 35% 100%);border:3px solid #661d17;box-shadow:inset -5px -6px #00000040,0 0 0 4px #ef563833,0 5px #4014124d}.power-item.bomb:before{content:"";border-top:3px solid #58372b;border-bottom:0;border-left:0;border-right:3px solid #58372b;border-radius:0 18px 0 0;width:34%;height:28%;position:absolute;top:-18%;right:-7%;transform:rotate(-13deg)}.power-item.lightning{color:#173745;background:radial-gradient(circle,#fff48d 0 18%,#59dcf2 19% 65%,#2788ad 66% 100%);border:3px solid #176075;box-shadow:inset -5px -6px #0d425c33,0 0 0 4px #34c5e733,0 5px #14495d4d}@keyframes itemPulse{50%{filter:drop-shadow(0 0 10px #f4b137b3)}}.ion-egg{background:var(--egg);width:100%;height:100%;color:var(--ink);font:700 clamp(9px, 1.15vw, 16px) var(--font-mono);-webkit-user-select:none;user-select:none;border:2px solid #183743a6;border-radius:48% 52%/57% 55% 45% 43%;place-items:center;display:grid;position:relative;box-shadow:inset -5px -7px #172d3221,inset 6px 6px #ffffff4d,0 4px #1737452e}.ion-egg:before{content:"";background:#ffffff80;border-radius:50%;width:22%;height:12%;position:absolute;top:13%;left:18%;transform:rotate(-25deg)}.ion-egg>span{z-index:1;letter-spacing:-.08em;position:relative}.ion-egg.element-egg>small{z-index:2;color:var(--ink);position:absolute;top:16%;left:18%}@supports (color:color-mix(in lab, red, red)){.ion-egg.element-egg>small{color:color-mix(in srgb, var(--ink) 72%, transparent)}}.ion-egg.element-egg>small{font:800 clamp(5px, .55vw, 8px) var(--font-mono)}.ion-egg.element-egg>span{letter-spacing:-.04em;font-size:1.28em}.ion-egg.element-egg>span>sup{color:#b74627;vertical-align:super;letter-spacing:0;margin-left:1px;font-size:.55em;font-weight:900}.ion-egg.compound-egg>span{letter-spacing:-.09em;font-size:.82em}.ion-egg.compound-egg>.compound-badge{z-index:2;color:#fff;min-width:12px;font:900 clamp(4px, .46vw, 6px) var(--font-mono);letter-spacing:0;text-align:center;background:#274b58;border-radius:5px;padding:1px 2px;line-height:1.15;position:absolute;top:13%;right:13%}.ion-egg.family-acid>.compound-badge{background:#b94832}.ion-egg.family-base>.compound-badge{background:#267d5b}.ion-egg.family-salt>.compound-badge{background:#416c83}.ion-egg.small{width:43px;height:46px;font-size:11px}.projectile{z-index:8;filter:drop-shadow(0 0 7px #ef71388c)}.danger-line{z-index:2;color:#c94b34;opacity:.8;border-top:2px dashed #df5d43;position:absolute;left:7px;right:7px}.danger-line span{font:700 7px var(--font-mono);letter-spacing:.1em;background:#f9f7ee;padding:2px 5px;position:absolute;top:-13px;right:9px}.aim-path{z-index:3;pointer-events:none;position:absolute;inset:0}.aim-segment{transform-origin:0;filter:drop-shadow(0 0 3px #ef71384d);background:repeating-linear-gradient(90deg,#ef7138e6 0 7px,#0000 7px 14px);height:2px;position:absolute}.aim-segment.reflected{filter:drop-shadow(0 0 4px #3abfda73);background:repeating-linear-gradient(90deg,#2696b1f2 0 7px,#0000 7px 14px)}.aim-segment i{background:var(--navy);border:2px solid #f5c441;border-radius:50%;width:11px;height:11px;position:absolute;top:-5px;right:-5px;box-shadow:0 0 0 4px #f2bd3f29}.aim-segment.final i{background:var(--orange);border:0;width:8px;height:8px;top:-3px;right:-3px;box-shadow:0 0 0 4px #ef71382e}.launcher{z-index:6;aspect-ratio:1;width:8.88889%;position:absolute;transform:translate(-50%,-50%)}.launcher>.ion-egg{z-index:3;position:relative}.rex-launcher-mascot{z-index:5;pointer-events:none;filter:drop-shadow(0 7px 6px #17374538);width:23%;animation:2.4s ease-in-out infinite rexBreathe;position:absolute;bottom:.6%;left:50%;transform:translate(-72%)}.rex-launcher-mascot img{width:100%;height:auto;display:block}.rex-coach{z-index:8;color:#244a43;pointer-events:none;background:#eefaf1f0;border:2px solid #2e8e70;border-radius:10px 10px 2px;width:min(190px,30%);padding:8px 9px;animation:2s ease-in-out infinite coachBob;position:absolute;bottom:11.5%;right:3.5%;box-shadow:0 5px #17374529}.rex-coach:after{content:"";border:5px solid #2e8e70;border-color:#2e8e70 #2e8e70 #0000 #0000;position:absolute;bottom:-9px;right:10px}.rex-coach b{color:#258263;font:900 6px var(--font-mono);letter-spacing:.1em;display:block}.rex-coach span{font:800 clamp(6px, .72vw, 8px)/1.35 var(--font-vietnam);margin-top:2px;display:block}.rex-coach.searching{background:#fff7d3f2;border-color:#d09c32}@keyframes coachBob{50%{translate:0 -3px}}.selected-dino-assistant{z-index:7;aspect-ratio:1;background:var(--navy);pointer-events:none;border:3px solid #f2bd3f;border-radius:50%;width:13%;position:absolute;bottom:1.5%;right:6%;overflow:hidden;box-shadow:0 5px #1737453d}.selected-dino-assistant img{object-fit:cover;object-position:center 30%;width:100%;height:100%}@keyframes rexBreathe{50%{transform:translate(-72%)translateY(-3px)rotate(-.6deg)}}.cannon-base{z-index:1;background:#274d5b;border:3px solid #173745;border-radius:50% 50% 8px 8px;justify-content:space-around;width:86px;height:34px;padding:9px 16px;display:flex;position:absolute;top:75%;left:50%;transform:translate(-50%);box-shadow:inset 0 8px #47707b,0 5px #17374533}.cannon-base i{background:#f0b63e;border-radius:2px;width:5px;height:14px;transform:rotate(10deg)}.next-shot{z-index:6;background:#faf8f0d9;border:1px solid #d2ccbc;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;display:flex;position:absolute;bottom:14px;left:22px}.next-shot>span{font:700 7px var(--font-mono);letter-spacing:.1em;writing-mode:vertical-rl;color:#6d7e84;transform:rotate(180deg)}.mascot{z-index:2;width:86px;height:104px;color:var(--navy);text-align:center;pointer-events:none;background:#e9763e;border:3px solid #183c49;border-radius:48% 45% 10px 10px;position:absolute;bottom:-3px;right:27px;transform:rotate(3deg);box-shadow:inset -12px -10px #75311b2e}.rex-head{color:#183c49;margin-top:-4px;font-size:45px;line-height:1}.goggles{letter-spacing:-2px;color:#f5c447;text-shadow:0 0 #183c49;margin-top:13px;font-size:15px;font-weight:900}.coat{background:#f4f1e6;border-top:3px solid #173745;border-radius:10px 10px 4px 4px;height:36px;padding-top:5px;font-size:18px;position:absolute;bottom:0;left:10px;right:10px}.reaction-atmosphere{z-index:10;pointer-events:none;isolation:isolate;animation:3s both atmosphereIn;position:absolute;inset:0;overflow:hidden}.atmosphere-wash{opacity:.45;background:radial-gradient(circle at 50% 58%, var(--fx2), var(--fx) 68%, transparent 100%);mix-blend-mode:multiply;position:absolute;inset:0}.reaction-atmosphere.white .atmosphere-wash{opacity:.7;mix-blend-mode:screen}.reaction-atmosphere.purple .atmosphere-wash{opacity:.58}.reaction-atmosphere>strong{z-index:3;color:#fff;text-shadow:0 2px #00000040;width:max-content;max-width:86%;font:900 clamp(9px, 1.5vw, 15px) var(--font-mono);letter-spacing:.12em;background:#122f3ac2;border:1px solid #ffffffb3;border-radius:999px;padding:7px 13px;position:absolute;top:35%;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 5px 18px #0f262f38}.effect-particles{z-index:2;position:absolute;inset:0}.effect-particles i{left:var(--x);position:absolute;animation-delay:var(--delay)!important}.reaction-atmosphere.flame .effect-particles i{background:linear-gradient(180deg, var(--fx2), var(--fx) 55%, #ff4d26);width:18px;height:42px;filter:drop-shadow(0 0 8px var(--fx));border-radius:70% 30% 60% 40%/70% 50% 50% 30%;animation:1.55s ease-out infinite flameFly;bottom:-45px;transform:rotate(45deg)}.reaction-atmosphere.smoke .effect-particles i{background:var(--fx);opacity:.56;filter:blur(5px);border-radius:50%;width:48px;height:48px;animation:2.5s ease-out infinite smokeRise;bottom:-40px}.reaction-atmosphere.bubbles .effect-particles i,.reaction-atmosphere.solution .effect-particles i{border:3px solid var(--fx2);background:var(--fx);border-radius:50%;width:21px;height:21px;bottom:-30px}@supports (color:color-mix(in lab, red, red)){.reaction-atmosphere.bubbles .effect-particles i,.reaction-atmosphere.solution .effect-particles i{background:color-mix(in srgb, var(--fx) 30%, transparent)}}.reaction-atmosphere.bubbles .effect-particles i,.reaction-atmosphere.solution .effect-particles i{animation:2s ease-out infinite bubbleRise;box-shadow:inset 4px 4px #ffffff80}.reaction-atmosphere.spark .effect-particles i{background:var(--fx);width:6px;height:24px;box-shadow:0 0 12px 4px var(--fx2);transform-origin:50% -150px;border-radius:50%;animation:1.2s ease-out infinite sparkBurst;top:55%}.effect-particles i:nth-child(3n){transform:scale(.65);animation-duration:1.9s!important}.effect-particles i:nth-child(4n){transform:scale(1.35);animation-duration:2.7s!important}@keyframes atmosphereIn{0%,to{opacity:0}10%,82%{opacity:1}}@keyframes flameFly{0%{opacity:0;translate:0}15%{opacity:1}to{opacity:0;translate:25px -920px;rotate:160deg}}@keyframes smokeRise{0%{opacity:0;translate:0;scale:.4}18%{opacity:.65}to{opacity:0;translate:35px -880px;scale:2.7}}@keyframes bubbleRise{0%{opacity:0;translate:0;scale:.45}15%{opacity:.9}to{opacity:0;translate:-20px -930px;scale:1.45}}@keyframes sparkBurst{0%{translate:0;rotate:calc(var(--i) * 31deg);opacity:1}to{translate:0 360px;rotate:calc(var(--i) * 31deg);opacity:0}}.reaction-flash{z-index:15;text-align:center;pointer-events:none;background:#fbf8eef7;border:2px solid #3d9f78;border-radius:10px;width:min(500px,84%);padding:15px 18px;animation:2.6s both reactionPop;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px #1737452e,0 20px 45px #17374533}.reaction-flash>span{color:#318264;font:700 8px var(--font-mono);letter-spacing:.16em;display:block}.reaction-flash>strong{color:#225e4d;font:700 clamp(14px, 2vw, 21px) var(--font-mono);margin:6px 0 10px;display:block}.reaction-flash>small{color:var(--orange);font:700 7px var(--font-mono);letter-spacing:.14em;display:block}.reaction-flash>b{color:var(--navy);font:700 clamp(11px, 1.5vw, 16px) var(--font-mono);margin-top:5px;display:block}@keyframes reactionPop{0%{opacity:0;transform:translate(-50%,-42%)scale(.92)}10%,82%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-56%)scale(.98)}}.danger-reaction{z-index:17;color:#fff;pointer-events:none;background:#251f18f2;border:2px solid #f2bd3f;border-left:7px solid #ef5638;grid-template-columns:62px 1fr;align-items:center;gap:15px;width:min(570px,88%);padding:19px;animation:3.2s both hazardReveal;display:grid;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #ef563826,0 18px 45px #22140d73}.hazard-icon{color:#fff3bf;background:#ef5638;border-radius:50%;place-items:center;width:58px;height:58px;font-size:28px;display:grid;box-shadow:0 0 0 6px #ef56382e}.danger-reaction div{flex-direction:column;display:flex}.danger-reaction small{color:#ffc642;font:700 8px var(--font-mono);letter-spacing:.14em}.danger-reaction strong{font:700 clamp(13px, 1.8vw, 20px) var(--font-mono);margin-top:6px}.danger-reaction p{color:#ddcfbf;margin:6px 0;font-size:9px;line-height:1.5}.danger-reaction b{color:#ff8a61;font:700 8px var(--font-mono);letter-spacing:.08em}@keyframes hazardReveal{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}8%,82%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-55%)scale(.97)}}.power-alert{z-index:18;color:#fff;pointer-events:none;background:#102f3cf5;border:2px solid #62dff2;border-left:7px solid #f2bd3f;grid-template-columns:62px 1fr;align-items:center;gap:15px;width:min(540px,86%);padding:18px;animation:2.6s both hazardReveal;display:grid;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 7px #49bee424,0 18px 45px #0a26316b}.power-alert-icon{color:#183b49;width:58px;height:58px;font:900 32px var(--font-mono);background:#f9cf46;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 6px #f9cf4626}.power-alert div{flex-direction:column;display:flex}.power-alert small{color:#71e4f5;font:700 7px var(--font-mono);letter-spacing:.12em}.power-alert strong{color:#fff2ad;font:800 clamp(13px, 1.8vw, 20px) var(--font-mono);margin:5px 0}.power-alert p{color:#cbdde2;margin:0;font-size:9px}.power-alert p b{color:#fff}.game-modal{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102a34a6;place-items:center;padding:18px;display:grid;position:absolute;inset:0;overflow:auto}.modal-card{text-align:center;background:#fbf8ee;border:1px solid #d8d0bd;width:min(430px,88%);padding:27px;box-shadow:10px 10px #0a1f2640}.modal-icon{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:57px;height:57px;margin:auto;font-size:25px;font-weight:900;display:grid}.modal-card.won .modal-icon{background:#3b9d76}.modal-card p{color:var(--orange);font:700 9px var(--font-mono);letter-spacing:.17em;margin:17px 0 7px}.modal-card h2{margin:0 0 6px;font-size:29px}.modal-card>span:not(.modal-icon){color:#6c7d82;font-size:11px}.modal-card button{background:var(--navy);color:#fff;letter-spacing:.12em;border:0;border-radius:5px;margin:21px auto 0;padding:13px 22px;font-size:11px;font-weight:900;display:block;box-shadow:0 4px #0b222b}.modal-card .share-label{color:#7d898c;font:800 7px var(--font-mono);letter-spacing:.11em;margin-top:17px}.modal-card .share-score-picker{grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;display:grid}.modal-card .share-score-picker button{color:#60757c;box-shadow:none;letter-spacing:0;background:#fff;border:2px solid #d4cdbd;flex-direction:column;align-items:center;gap:3px;margin:0;padding:10px 7px;display:flex}.modal-card .share-score-picker button.active{color:var(--navy);border-color:var(--orange);background:#fff0dc;box-shadow:inset 0 -3px #ef71381f}.modal-card .share-score-picker small{font:800 6px var(--font-mono);letter-spacing:.08em}.modal-card .share-score-picker strong{font:900 10px var(--font-mono)}.modal-card .share-actions{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:17px;display:grid}.modal-card .share-actions button{color:var(--navy);box-shadow:none;letter-spacing:0;background:#fff;border:1px solid #cfc8b7;margin:0;padding:8px 3px;font-size:6px}.modal-card .share-actions button:disabled,.modal-card .share-score-picker button:disabled{cursor:wait;opacity:.55}.modal-card .share-notice{color:#4d7a6d;margin-top:8px;font-size:7px;display:block}.modal-card button.play-again{margin-top:13px}.reaction-card{background:#faf7ed;border:1px solid #d3cebf;grid-template-columns:1fr;min-height:112px;max-height:calc(100vh - 90px);margin-top:8px;display:grid;position:sticky;top:72px;overflow:auto;box-shadow:0 5px 12px #2b36350f}.reaction-card.success{border-left:4px solid #3da379}.reaction-card.coexist{background:#f1faf9;border-left:4px solid #3da9bc}.reaction-card.miss{border-left:4px solid #e15d40}.reaction-card.danger-reaction-card{background:#fff3dd;border-left:6px solid #ef5638}.reaction-status{border-bottom:1px solid #ded9cc;align-items:center;gap:10px;padding:12px;display:flex}.reaction-status>span{color:#fff;background:#3da379;border-radius:50%;place-items:center;width:27px;height:27px;font-weight:900;display:grid}.miss .reaction-status>span{background:#e15d40}.coexist .reaction-status>span{background:#3da9bc}.coexist .equation strong{color:#27788a}.danger-reaction-card .reaction-status>span{background:#ef5638;font-size:13px}.danger-reaction-card .equation strong,.danger-reaction-card .equation b{color:#a53d27}.reaction-status div{flex-direction:column;display:flex}.reaction-status small{font:700 7px var(--font-mono);color:#78878b;letter-spacing:.11em}.reaction-status strong{margin-top:3px;font-size:10px}.equation{flex-direction:column;justify-content:center;min-width:0;padding:12px 14px;display:flex}.equation small{color:#8a979a;font:700 6px var(--font-mono);letter-spacing:.12em;margin-bottom:3px}.equation small:nth-of-type(2){color:var(--orange);margin-top:8px}.equation strong{overflow-wrap:anywhere;font:700 clamp(12px, 1.25vw, 16px) var(--font-mono);color:#2b6255}.miss .equation strong{color:#bc503a}.equation b{overflow-wrap:anywhere;color:var(--navy);font:700 clamp(10px, 1vw, 13px) var(--font-mono)}.equation span{color:#7a888c;margin-top:5px;font-size:8px}.reaction-more{border-top:1px solid #ddd6c8;margin-top:10px}.reaction-more summary{cursor:pointer;color:#527169;font:800 6px var(--font-mono);letter-spacing:.07em;padding:9px 0 6px;list-style-position:inside}.reaction-more>span{line-height:1.5;display:block}.equation .reaction-condition,.equation .reaction-memory{background:#fff5d8;border-left:3px solid #d3a43a;margin-top:7px;padding:6px 8px;line-height:1.45}.equation .reaction-memory{background:#e9f4ee;border-left-color:#429873}.equation .reaction-condition b,.equation .reaction-memory b{font-size:7px}.reaction-card-library{width:100%;color:var(--navy);font:800 6px var(--font-mono);letter-spacing:.06em;background:#fff;border:1px solid #c9c3b5;border-radius:3px;align-self:flex-start;margin-top:9px;padding:8px}.balance-overlay{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a232dd1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.balance-modal{width:min(850px,100%);max-height:calc(100vh - 30px);color:var(--navy);border:2px solid #e8b842;border-top:8px solid var(--orange);background:#fbf8ee;padding:28px;position:relative;overflow:auto;box-shadow:16px 16px #05192059}.balance-modal.expired{border-color:#df5c42}.balance-close{z-index:2;width:34px;height:34px;color:var(--navy);background:#fff;border:1px solid #d2cbbb;border-radius:50%;place-items:center;font-size:22px;display:grid;position:absolute;top:12px;right:14px}.balance-head{grid-template-columns:62px 1fr 75px;align-items:center;gap:14px;padding-right:42px;display:grid}.challenge-item{width:58px;height:58px;font:900 30px var(--font-mono);border-radius:50%;place-items:center;display:grid}.challenge-item.bomb{color:#fff0b1;background:radial-gradient(circle at 35% 28%,#ffb43f 0 10%,#e84d2e 11% 34%,#481e22 35% 100%);border:3px solid #661d17}.challenge-item.lightning{color:#173745;background:radial-gradient(circle,#fff48d 0 18%,#59dcf2 19% 65%,#2788ad 66% 100%);border:3px solid #176075}.balance-head small{color:var(--orange);font:700 8px var(--font-mono);letter-spacing:.15em}.balance-head h2{text-transform:uppercase;letter-spacing:-.04em;margin:2px 0 0;font-size:clamp(23px,4vw,34px)}.challenge-timer{color:#fff;background:var(--navy);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:66px;height:66px;display:flex;box-shadow:0 0 0 5px #e7e0ce}.challenge-timer b{font:800 24px var(--font-mono);line-height:1}.challenge-timer span{color:#a8bec5;font:700 7px var(--font-mono);letter-spacing:.1em}.challenge-timer.urgent{background:#db4f35;animation:.65s infinite timerPulse}@keyframes timerPulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px #db4f3533}}.timer-track{background:#ded7c7;border-radius:8px;height:7px;margin:19px 0 8px;overflow:hidden}.timer-track i{border-radius:inherit;background:linear-gradient(90deg,#e95e34,#f2bd3f,#45a782);height:100%;transition:width .35s linear;display:block}.difficulty-line{color:#7d898c;font:700 7px var(--font-mono);letter-spacing:.08em;align-items:center;gap:12px;display:flex}.difficulty-line span{color:var(--orange)}.difficulty-line b{color:var(--navy);border-left:1px solid #ccc6b8;padding-left:12px}.difficulty-line em{margin-left:auto;font-style:normal}.electron-guide{color:#35295d;background:linear-gradient(110deg,#f0eafb,#fff9e9);border:1px solid #9c8fc0;border-left:5px solid #6549a2;grid-template-columns:50px 1fr;align-items:center;gap:11px;margin-top:13px;padding:10px 12px;display:grid}.electron-guide>span{color:#fff;width:44px;height:44px;font:900 16px var(--font-mono);background:#6549a2;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 4px #6549a221}.electron-guide p{margin:0;font-size:8px;line-height:1.55}.electron-guide strong{color:#6549a2;font:800 7px var(--font-mono);letter-spacing:.08em;margin-bottom:2px;display:block}.balance-equation{background-color:#f5f1e5;background-image:radial-gradient(circle,#1f475612 1px,#0000 1px);background-size:16px 16px;border:1px solid #d6d0c2;justify-content:center;align-items:center;gap:18px;min-height:150px;margin:18px 0 10px;padding:22px 16px;display:flex}.equation-side{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.coefficient-term{white-space:nowrap;align-items:center;gap:5px;display:flex}.coefficient-term input{width:43px;height:45px;color:var(--orange);text-align:center;font:800 19px var(--font-mono);background:#fff;border:2px solid #b8b4aa;border-radius:5px;padding:0;box-shadow:inset 0 -3px #ede8db}.coefficient-term input:focus{border-color:var(--orange);outline:3px solid #ef713833}.coefficient-term b{font:800 clamp(13px, 2vw, 20px) var(--font-mono)}.coefficient-term i{color:#94a0a3;font:normal 800 18px var(--font-mono);margin-left:3px}.reaction-arrow{color:var(--orange);font:800 28px var(--font-mono);flex:none}.balance-feedback{color:#47786a;text-align:center;min-height:18px;margin:0 0 12px;font-size:9px;font-weight:700}.balance-feedback.error{color:#cc4c36}.quick-challenge{margin-top:18px}.quick-challenge>small{color:var(--orange);text-align:center;font:900 7px var(--font-mono);letter-spacing:.13em;display:block}.quick-challenge>strong{min-height:74px;color:var(--navy);text-align:center;font:900 clamp(13px, 2.2vw, 22px)/1.45 var(--font-mono);background-color:#f5f1e5;background-image:radial-gradient(circle,#1f475612 1px,#0000 1px);background-size:16px 16px;border:1px solid #d6d0c2;place-items:center;margin-top:7px;padding:16px;display:grid}.quick-choice-grid{grid-template-columns:1fr 1fr;gap:8px;margin:11px 0 9px;display:grid}.quick-choice-grid button{min-height:58px;color:var(--navy);text-align:left;background:#fff;border:2px solid #cfc8b7;border-radius:6px;grid-template-columns:31px 1fr;align-items:center;gap:8px;padding:8px;transition:transform .15s,border-color .15s,background .15s;display:grid}:is(.quick-choice-grid button:hover,.quick-choice-grid button:focus-visible){background:#ecf7f1;border-color:#3d9f78;outline:3px solid #3d9f7829;transform:translateY(-2px)}.quick-choice-grid button:disabled{cursor:not-allowed;opacity:.55;transform:none}.quick-choice-grid button>b{color:#fff;width:29px;height:29px;font:900 10px var(--font-mono);background:#3d9f78;border-radius:50%;place-items:center;display:grid}.quick-choice-grid button>span{overflow-wrap:anywhere;font:800 9px/1.4 var(--font-vietnam)}.activate-button{color:#fff;background:var(--orange);min-width:250px;font:900 10px var(--font-mono);letter-spacing:.11em;border:0;border-radius:5px;margin:0 auto;padding:14px 22px;display:block;box-shadow:0 5px #a74320}.expired-actions{justify-content:center;gap:8px;display:flex}.expired-actions button{color:var(--navy);font:800 9px var(--font-mono);background:#fff;border:1px solid #c9c2b2;border-radius:5px;padding:12px 18px}.expired-actions button:first-child{border-color:var(--navy);color:#fff;background:var(--navy)}.balance-tip{background:#fff5d7;border:1px solid #dfd09f;align-items:flex-start;gap:9px;margin-top:20px;padding:11px;display:flex}.balance-tip>span{font-size:16px}.balance-tip p{color:#746945;margin:0;font-size:8px;line-height:1.55}.balance-tip strong{color:#946f18;font:700 7px var(--font-mono);letter-spacing:.1em;display:block}.reaction-library-overlay{z-index:76;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#071c24e6;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.reaction-library-modal{width:min(1240px,100%);max-height:calc(100vh - 28px);color:var(--navy);background:#fbf8ee;border:1px solid #d5cebd;border-top:8px solid #3d9f78;padding:27px;position:relative;overflow:auto;box-shadow:17px 17px #03121859}.reaction-library-close{z-index:4;width:36px;height:36px;color:var(--navy);background:#fff;border:1px solid #cbc4b4;border-radius:50%;font-size:23px;position:absolute;top:13px;right:15px}.reaction-library-heading{padding-right:52px}.reaction-library-heading p{color:#348268;font:800 8px var(--font-mono);letter-spacing:.17em;margin:0}.reaction-library-heading h2{text-transform:uppercase;letter-spacing:-.055em;margin:3px 0 6px;font-size:clamp(27px,3.6vw,44px);line-height:1}.reaction-library-heading>span{color:#718086;font-size:9px}.reaction-library-heading>span b{color:var(--orange)}.reaction-library-tools{z-index:3;background:#fbf8eef7;border-top:1px solid #d9d2c2;border-bottom:1px solid #d9d2c2;margin:20px -27px 0;padding:12px 27px;position:sticky;top:-27px;box-shadow:0 6px 16px #1e32370f}.reaction-search{display:block;position:relative}.reaction-search>span{color:#7a878b;font:700 6px var(--font-mono);letter-spacing:.11em;margin-bottom:5px;display:block}.reaction-search input{width:100%;height:42px;color:var(--navy);font:700 10px var(--font-mono);background:#fff;border:2px solid #bfc9c3;border-radius:5px;padding:0 42px 0 13px}.reaction-search input:focus{border-color:#3d9f78;outline:3px solid #3d9f7829}.reaction-search>button{color:#78868a;background:#ece8dd;border:0;border-radius:50%;width:28px;height:28px;font-size:16px;position:absolute;bottom:7px;right:7px}.reaction-category-tabs{grid-template-columns:repeat(9,1fr);gap:5px;margin-top:9px;display:grid}.reaction-category-tabs button{border:1px solid var(--category,#173745);grid-template-rows:1fr 1fr;grid-template-columns:24px 1fr;align-items:center;min-width:0;min-height:48px;padding:5px 6px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.reaction-category-tabs button{border:1px solid color-mix(in srgb, var(--category,#173745) 36%, #d0c9ba)}}.reaction-category-tabs button{color:#65767c;text-align:left;background:#f8f4e9;border-radius:4px}.reaction-category-tabs button>b{color:#fff;background:var(--category,var(--navy));width:21px;height:21px;font:800 7px var(--font-mono);border-radius:50%;grid-row:1/3;place-items:center;display:grid}.reaction-category-tabs button>span{text-overflow:ellipsis;white-space:nowrap;font:800 6px var(--font-mono);text-transform:uppercase;overflow:hidden}.reaction-category-tabs button>small{color:#8a9699;font:700 6px var(--font-mono)}.reaction-category-tabs button.active{color:#fff;border-color:var(--category,var(--navy));background:var(--category,var(--navy));box-shadow:0 3px 0 var(--category,#173745)}@supports (color:color-mix(in lab, red, red)){.reaction-category-tabs button.active{box-shadow:0 3px 0 color-mix(in srgb, var(--category,#173745) 68%, #000)}}.reaction-category-tabs button.active>b{color:var(--category,var(--navy));background:#fff}.reaction-category-tabs button.active>small{color:#ffffffbf}.reaction-memory-map{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px;display:grid}.reaction-memory-map>div{border:1px solid var(--category);align-items:center;gap:9px;min-height:65px;padding:9px;display:flex}@supports (color:color-mix(in lab, red, red)){.reaction-memory-map>div{border:1px solid color-mix(in srgb, var(--category) 42%, #d4cdbd)}}.reaction-memory-map>div{border-left:5px solid var(--category);background:#ffffff75}.reaction-memory-map>div>b{color:#fff;background:var(--category);width:30px;height:30px;font:900 9px var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.reaction-memory-map span{flex-direction:column;gap:2px;display:flex}.reaction-memory-map strong{text-transform:uppercase;font-size:8px}.reaction-memory-map small{color:#718086;font-size:7px;line-height:1.4}.reaction-rule-focus{border:1px solid var(--category);align-items:center;gap:13px;margin-top:14px;padding:13px;display:flex}@supports (color:color-mix(in lab, red, red)){.reaction-rule-focus{border:1px solid color-mix(in srgb, var(--category) 45%, #d4cdbd)}}.reaction-rule-focus{border-left:7px solid var(--category);background:#ffffff85}.reaction-rule-focus>b{color:#fff;background:var(--category);width:43px;height:43px;font:900 13px var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.reaction-rule-focus p{flex-direction:column;gap:3px;margin:0;display:flex}.reaction-rule-focus strong{font:800 8px var(--font-mono);letter-spacing:.08em}.reaction-rule-focus span{font-size:9px}.reaction-rule-focus em{color:#6e7d81;font-size:8px}.reaction-library-result{color:#7a888c;font:700 8px var(--font-mono);letter-spacing:.08em;margin:16px 0 7px}.reaction-library-result b{color:var(--orange);font-size:15px}.reaction-library-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.reaction-library-list article{border:1px solid #d8d1c2;border-top:4px solid var(--category);background:#ffffff9e;padding:14px;position:relative;overflow:hidden;box-shadow:0 5px 10px #1f31340d}.reaction-library-list article.locked{background:repeating-linear-gradient(-45deg,#ffffff85 0 10px,#ebe6d980 10px 20px)}.reaction-library-list article.danger{border-right:5px solid #de563a}.reaction-entry-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.reaction-category-badge,.reaction-level-badge{color:var(--category);font:800 6px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:5px;display:inline-flex}.reaction-category-badge b{color:#fff;background:var(--category);border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.reaction-level-badge{color:#7c898d}.reaction-library-list article.locked .reaction-level-badge{color:#a54b2f}.reaction-reactants{justify-content:center;align-items:center;gap:6px;min-height:59px;margin-top:7px;display:flex}.reaction-reactants>span{align-items:center;gap:6px;display:flex}.reaction-reactants i{color:var(--orange);font:normal 900 16px var(--font-mono)}.reaction-main-equation{color:var(--navy);text-align:center;font:800 clamp(10px, 1.35vw, 15px) var(--font-mono);background:#f1ede1;padding:9px;line-height:1.45;display:block}.reaction-ionic{flex-direction:column;gap:2px;margin-top:8px;display:flex}.reaction-ionic small{color:#8a9699;font:700 6px var(--font-mono);letter-spacing:.1em}.reaction-ionic b{color:#347b66;font:700 9px var(--font-mono)}.reaction-library-list dl{grid-template-columns:1fr 1fr;gap:5px;margin:9px 0;display:grid}.reaction-library-list dl>div{background:#faf7eda6;border:1px solid #ded8ca;padding:7px}.reaction-library-list dt{color:#8a9699;font:700 6px var(--font-mono);letter-spacing:.08em}.reaction-library-list dd{color:#485b62;margin:3px 0 0;font-size:7px;line-height:1.45}.reaction-library-list article>p{color:#6c7b80;margin:7px 0;font-size:8px;line-height:1.5}.reaction-load-more{color:#fff;min-width:250px;font:900 8px var(--font-mono);letter-spacing:.08em;background:#244a58;border:1px solid #244a58;border-radius:5px;margin:14px auto 3px;padding:11px 18px;display:block;box-shadow:0 4px #102f3a}:is(.reaction-load-more:hover,.reaction-load-more:focus-visible){background:#326477;outline:3px solid #3d9f783d}.reaction-memory-tip{background:#fff4d4;border-left:4px solid #d3a43a;gap:8px;padding:8px;display:flex}.reaction-memory-tip b{color:#946f18;font:800 6px var(--font-mono);flex:none}.reaction-memory-tip span{color:#766949;font-size:7px;line-height:1.45}.reaction-safety{color:#a63d28;font:900 6px var(--font-mono);letter-spacing:.06em;background:#fff0e8;border:1px solid #e5a18a;margin-top:7px;padding:6px 8px}.reaction-empty{color:#748287;background:#ffffff61;border:1px dashed #c9c2b3;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:5px;min-height:150px;display:flex}.reaction-empty b{color:var(--navy);font-size:14px}.reaction-empty span{font-size:9px}.reaction-library-footnote{color:#756c53;background:#fff5d8;border:1px solid #dfd09e;margin-top:12px;padding:10px;font-size:8px;line-height:1.5}.periodic-overlay{z-index:72;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091f28db;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.periodic-modal{background:#fbf8ee;border:1px solid #d6cfbd;border-top:7px solid #6c52a0;width:min(1420px,100%);max-height:calc(100vh - 28px);padding:25px;position:relative;overflow:auto;box-shadow:16px 16px #04141b4d}.periodic-close{z-index:3;width:34px;height:34px;color:var(--navy);background:#fff;border:1px solid #cfc7b6;border-radius:50%;font-size:22px;position:absolute;top:13px;right:15px}.periodic-heading{padding-right:50px}.periodic-heading p{color:#6c52a0;font:800 8px var(--font-mono);letter-spacing:.17em;margin:0}.periodic-heading h2{text-transform:uppercase;letter-spacing:-.04em;margin:2px 0 5px;font-size:clamp(24px,3vw,38px)}.periodic-heading>span{color:#718086;font-size:9px}.periodic-heading>span b{color:var(--orange)}.periodic-scroll{margin-top:18px;padding-bottom:7px;overflow-x:auto}.periodic-grid{grid-template-rows:repeat(9,61px);grid-template-columns:repeat(18,1fr);gap:4px;min-width:1120px;display:grid}.periodic-element{border:1px solid var(--element-ink);flex-direction:column;justify-content:center;min-width:55px;padding:4px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.periodic-element{border:1px solid color-mix(in srgb, var(--element-ink) 45%, transparent)}}.periodic-element{color:var(--element-ink);background:var(--element);transition:transform .16s,opacity .16s;box-shadow:inset -3px -4px #142d321a}.periodic-element:hover{z-index:2;transform:scale(1.13);box-shadow:0 5px 15px #142d3233}.periodic-element.locked{opacity:.26;filter:grayscale(.65)}.periodic-element.enabled:after{content:"";background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px;box-shadow:0 0 0 2px #ffffff40}.periodic-element small{font:800 6px var(--font-mono);position:absolute;top:3px;left:4px}.periodic-element strong{font:900 18px var(--font-mono);margin-top:3px;line-height:1}.periodic-element span{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:6px;font-weight:700;overflow:hidden}.series-placeholder{color:#725a7e;text-align:center;font:700 7px var(--font-mono);background:#ead8e4;border:1px dashed #ab96b1;place-items:center;line-height:1.45;display:grid}.series-placeholder.lanthanide{background:#f0d6e2}.series-placeholder.actinide{background:#e5cad6}.periodic-legend{color:#6f7f84;font:700 7px var(--font-mono);flex-wrap:wrap;gap:9px 17px;margin-top:11px;display:flex}.periodic-legend span{align-items:center;gap:5px;display:flex}.periodic-legend i{border-radius:2px;width:9px;height:9px}.periodic-legend i.alkali{background:#ef8b6c}.periodic-legend i.transition{background:#83b9ca}.periodic-legend i.nonmetal{background:#84cfa0}.periodic-legend i.halogen{background:#b5d76e}.periodic-legend i.noble{background:#bca9df}.periodic-legend i.actinide{background:#d49bb2}.periodic-note{color:#716649;background:#fff4d7;border:1px solid #e0c99a;margin-top:12px;padding:10px 12px;font-size:8px;line-height:1.5}.periodic-note b{color:#a06e18}.help-overlay{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0d2731c2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.help-modal{background:#fbf8ee;border:1px solid #d6cfbd;width:min(620px,100%);max-height:calc(100vh - 36px);padding:34px;position:relative;overflow:auto;box-shadow:14px 14px #081c234d}.help-close{width:33px;height:33px;color:var(--navy);background:#fff;border:1px solid #d3ccbb;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:13px;right:15px}.help-modal>p{color:var(--orange);font:700 8px var(--font-mono);letter-spacing:.18em;margin:0 0 5px}.help-modal>h2{text-transform:uppercase;margin:0 0 22px;font-size:30px}.help-steps{border:1px solid #d9d3c5;grid-template-columns:1fr 1fr;display:grid}.help-steps>div{background:#ffffff73;gap:12px;min-height:112px;padding:17px;display:flex}.help-steps>div:nth-child(odd){border-right:1px solid #d9d3c5}.help-steps>div:nth-child(-n+2){border-bottom:1px solid #d9d3c5}.help-steps>div>b{color:#d6a638;font:700 20px var(--font-mono);flex:none}.help-steps p{flex-direction:column;gap:5px;margin:2px 0 0;display:flex}.help-steps strong{letter-spacing:.06em;font-size:10px}.help-steps span{color:#708086;font-size:9px;line-height:1.55}.help-keys{color:#758489;background:#f0ecdf;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin:20px 0;padding:12px;font-size:8px;font-weight:800;display:flex}.start-button{background:var(--navy);color:#fff;letter-spacing:.1em;border:0;border-radius:5px;width:100%;padding:14px;font-size:10px;font-weight:900;display:block;box-shadow:0 4px #0b222b}.formula-heading{align-items:center;gap:10px;display:flex}.formula-heading>span{color:#2e675b;background:#dce7e3;border-radius:6px;place-items:center;width:39px;height:39px;font-size:23px;display:grid}.formula-heading small{font:700 8px var(--font-mono);color:var(--orange);letter-spacing:.13em}.formula-heading h2{letter-spacing:-.03em;margin:1px 0 0;font-size:16px}.formula-panel>p{color:#7d898d;margin:12px 0 17px;font-size:9px;line-height:1.5}.legend{border-top:1px solid var(--line);gap:15px;padding-top:13px;display:flex}.legend span{font:700 7px var(--font-mono);letter-spacing:.06em}.legend i{border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.legend .cation{background:#e17b4e}.legend .anion{background:#58a68f}.legend .reactant{background:#e0b134}.formula-list{border:1px solid #d4cec0;border-bottom:0;margin-top:12px}.formula-row{min-height:37px;font:600 9px var(--font-mono);background:#ffffff73;border-bottom:1px solid #ded8ca;grid-template-columns:43px 12px 51px 17px 1fr;align-items:center;padding:0 8px;display:grid}.formula-row:nth-child(2n){background:#e7ede57a}.formula-row b:first-child{color:#bd5733}.formula-row b:nth-child(3){color:#327564}.formula-row span{color:#95a0a2;text-align:center}.formula-row strong{color:var(--navy);font-size:8px}.science-note{background:#fff5d8;border:1px solid #e6d7a9;align-items:flex-start;gap:8px;margin-top:15px;padding:11px;display:flex}.science-note>span{font-size:14px}.science-note p{color:#716846;margin:0;font-size:8px;line-height:1.6}.science-note p strong{color:#8d6d1d;letter-spacing:.09em;font-size:8px;display:block}footer{background:var(--navy);color:#91aab3;min-height:40px;font:600 7px var(--font-mono);letter-spacing:.08em;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:7px 26px;display:grid}footer>span:last-child{text-align:right}.creator-credit{color:#bdd0d5;white-space:nowrap;text-decoration:none;transition:color .18s}.creator-credit strong{color:#f3bd40}.creator-credit b{color:#6fc9ad;margin-left:5px}:is(.creator-credit:hover,.creator-credit:focus-visible){color:#fff}.creator-credit:focus-visible{outline-offset:3px;outline:2px solid #f3bd40}@media (max-width:1120px){.start-hero{grid-template-columns:.85fr 1.15fr;gap:32px}.content-grid{grid-template-columns:210px minmax(500px,1fr)}.formula-panel{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:210px 1fr;gap:16px 24px;display:grid}.formula-panel .formula-heading,.formula-panel>p,.formula-panel .legend,.formula-panel .science-note{grid-column:1}.formula-list{border-bottom:1px solid #d4cec0;grid-area:1/2/span 5;grid-template-columns:1fr 1fr;margin:0;display:grid}.formula-row{border-right:1px solid #ded8ca}}@media (max-width:760px){.auth-page{flex-direction:column;align-items:stretch;gap:24px;min-height:0;padding:30px 14px 48px;display:flex}.auth-showcase h1{font-size:40px}.auth-dino-stage{height:230px;margin-left:auto;margin-right:auto}.auth-card{min-height:0;padding:20px 14px}.dino-picker>div{grid-template-columns:repeat(4,1fr)}.topbar{grid-template-columns:1fr auto;height:66px}.brand{border-right:0;padding-left:15px}.brand-mark{width:37px;height:37px}.brand b{font-size:21px}.top-title{display:none}.top-actions{gap:4px;padding:0 5px}.top-actions .icon-btn{width:33px;height:33px;font-size:11px}.start-audio-actions{padding:0 9px}.music-label{display:none}.restart-top{width:39px;height:39px;padding:0;font-size:0}.restart-top span{margin:0}.content-grid{flex-direction:column;display:flex}.start-badge{padding:0 13px;font-size:6px}.start-page{padding:33px 15px 45px}.profile-strip{grid-template-columns:1fr auto}.start-hero{flex-direction:column;align-items:stretch;gap:35px;min-height:0;display:flex}.start-copy h1{font-size:clamp(39px,13vw,57px)}.start-lead{margin:18px 0;font-size:11px}.start-facts span{padding-right:4px;font-size:6px}.start-facts b{font-size:16px;display:block}.start-actions{grid-template-columns:1.15fr .85fr;display:grid}.start-actions .periodic-link,.start-actions .reaction-library-link{grid-column:1/-1}.level-buttons{grid-template-columns:1fr 1fr}.level-buttons button{min-height:45px}.play-button,.guide-link{padding-left:10px;padding-right:10px;font-size:8px}.start-preview{min-height:480px;box-shadow:7px 9px #17374514}.preview-eggs{width:100%;padding:0 8px}.start-egg{width:50px;height:50px}.preview-shot{top:275px}.preview-reaction strong{font-size:11px}.danger-reaction{grid-template-columns:44px 1fr;gap:10px;padding:13px}.hazard-icon{width:42px;height:42px;font-size:20px}.danger-reaction p{font-size:7px}.danger-reaction strong{font-size:11px}.power-alert{grid-template-columns:44px 1fr;gap:10px;padding:13px}.power-alert-icon{width:42px;height:42px;font-size:22px}.power-alert strong{font-size:11px}.power-alert p{font-size:7px}.start-info-grid{padding-top:34px;display:block}.start-rules,.start-notebook{padding:18px}.start-notebook{margin-top:14px}.notebook-category-list button{padding:6px}.notebook-category-list button>b{width:24px;height:24px}.bottom-play{text-align:center;flex-direction:column;align-items:stretch}.profile-lab{display:block}.leaderboard-card{margin-top:14px}.avatar-lab,.leaderboard-card{padding:18px}.leaderboard-head{flex-direction:column;align-items:flex-start}.game-view{padding:11px 9px 35px}.game-hud{grid-template-columns:1fr 1fr}.hud-flow{grid-column:1/-1}.hud-speed{gap:5px}.hud-speed>small{display:none}.mission-panel{border-right:0;grid-template-columns:1fr 1fr;gap:10px 14px;padding:20px 17px;display:grid}.mission-panel .eyebrow,.mission-panel h1,.intro{grid-column:1}.mission-panel h1{font-size:25px}.intro{margin:0}.score-card{flex-direction:column;grid-area:1/2/span 3;align-self:stretch;display:flex}.score-card>div{flex:1;justify-content:center}.score-card>div+div{border-top:1px solid #ffffff1f;border-left:0}.speed-control{grid-column:1/-1;margin-top:3px}.play-column{padding:12px 10px 19px}.game-column{padding:0}.game-play-grid{flex-direction:column;align-items:center;gap:9px;display:flex}.lab-strip{font-size:6px}.lab-strip b{display:none}.hint-button{min-width:104px;margin-left:auto;padding:6px 7px;font-size:6px}.mission-banner{grid-template-columns:30px 1fr auto;gap:4px 7px;padding:7px 8px}.mission-banner>span{width:28px;height:28px}.mission-banner>div{flex-direction:column;gap:1px;display:flex}.mission-banner strong{font-size:8px}.mission-banner em{font-size:6px}.wave-countdown{gap:5px;min-width:105px;margin-right:7px}.wave-countdown i{width:38px}.stage,.game-play-grid>.stage{border-width:5px;width:min(100%,65vh);min-height:0;margin-top:8px}.ion-egg{border-width:1.5px;font-size:clamp(7px,2.4vw,13px)}.mascot{transform-origin:100% 100%;right:9px;transform:scale(.72)}.rex-launcher-mascot{width:25%;bottom:.5%}.rex-coach{width:36%;padding:6px 7px;bottom:12%;right:3%}.rex-coach span{font-size:6px}.selected-dino-assistant{border-width:2px;width:15%}.reaction-atmosphere>strong{padding:5px 8px;font-size:7px;top:39%}.reaction-card{grid-template-columns:1fr;width:min(100%,65vh);max-height:none;margin-top:0;position:static}.modal-card{width:88%;padding:22px 14px}.modal-card .share-actions{grid-template-columns:1fr 1fr}.reaction-status{border-bottom:1px solid #ded9cc;border-right:0;padding:9px 11px}.equation{padding:10px 12px}.formula-panel{padding:25px 17px;display:block}.formula-list{margin-top:13px;display:block}.science-note{margin-top:12px}footer{grid-template-columns:1fr auto;gap:8px;padding:8px 12px}footer>span:first-child{font-size:6px}footer span:last-child{display:none}.creator-credit{font-size:6px}.help-modal{padding:28px 18px 20px}.help-steps{display:block}.help-steps>div{min-height:0;border:0!important;border-bottom:1px solid #d9d3c5!important}.help-steps>div:last-child{border-bottom:0!important}.balance-overlay{padding:8px}.balance-modal{max-height:calc(100vh - 16px);padding:19px 12px;box-shadow:7px 7px #05192059}.balance-head{grid-template-columns:46px 1fr 54px;gap:8px;padding-right:35px}.challenge-item{width:44px;height:44px;font-size:22px}.balance-head small{font-size:6px}.balance-head h2{font-size:19px}.challenge-timer{width:50px;height:50px}.challenge-timer b{font-size:18px}.difficulty-line{flex-wrap:wrap;gap:6px}.difficulty-line em{width:100%;margin-left:0}.electron-guide{grid-template-columns:38px 1fr;padding:8px}.electron-guide>span{width:34px;height:34px;font-size:12px}.electron-guide p{font-size:7px}.quick-challenge>strong{min-height:62px;padding:11px 7px;font-size:12px}.quick-choice-grid{grid-template-columns:1fr;gap:6px}.quick-choice-grid button{min-height:48px}.balance-equation{flex-direction:column;gap:7px;min-height:130px;padding:13px 7px}.reaction-arrow{font-size:21px;transform:rotate(90deg)}.coefficient-term input{width:35px;height:38px;font-size:16px}.coefficient-term b{font-size:12px}.activate-button{min-width:220px}.reaction-library-overlay{padding:5px}.reaction-library-modal{max-height:calc(100vh - 10px);padding:18px 10px;box-shadow:6px 6px #03121859}.reaction-library-heading{padding-right:38px}.reaction-library-heading h2{font-size:25px}.reaction-library-heading>span{padding-right:5px;font-size:7px;line-height:1.5;display:block}.reaction-library-tools{margin:16px -10px 0;padding:9px 10px;top:-18px}.reaction-category-tabs{grid-template-columns:repeat(3,1fr)}.reaction-category-tabs button{min-height:42px}.reaction-memory-map{grid-template-columns:1fr 1fr}.reaction-memory-map>div{min-height:58px;padding:7px}.reaction-library-list,.reaction-library-list dl{grid-template-columns:1fr}.reaction-main-equation{font-size:10px}.reaction-rule-focus{align-items:flex-start}.periodic-overlay{padding:6px}.periodic-modal{max-height:calc(100vh - 12px);padding:18px 10px;box-shadow:6px 6px #04141b4d}.periodic-grid{grid-template-rows:repeat(9,55px);min-width:1000px}.periodic-heading h2{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
