:root{--ion-font-family: "SF Pro Text", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Segoe UI", sans-serif;--ion-background-color: #f4f0e8;--ion-background-color-rgb: 244, 240, 232;--ion-text-color: #1c1a17;--ion-text-color-rgb: 28, 26, 23;--ion-item-background: transparent;--ion-card-background: #fffcf6;--ion-color-primary: #c96a34;--ion-color-primary-rgb: 201, 106, 52;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #b15d2e;--ion-color-primary-tint: #cf7948;--ion-color-secondary: #2f6f68;--ion-color-secondary-rgb: 47, 111, 104;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #29625c;--ion-color-secondary-tint: #447d77;--ion-color-medium: #8a8277;--ion-color-medium-rgb: 138, 130, 119;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #797268;--ion-color-medium-tint: #968f85;--ion-color-danger: #b3423b;--ion-color-danger-rgb: 179, 66, 59;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #9e3a34;--ion-color-danger-tint: #bb5550;--app-bg: #f4f0e8;--app-surface: #fffcf6;--app-surface-2: #efeadf;--app-border: rgba(28, 26, 23, .085);--app-border-strong: rgba(28, 26, 23, .16);--app-text: #1c1a17;--app-text-2: #5d574e;--app-text-3: #8b8377;--app-accent: #c96a34;--app-accent-soft: rgba(201, 106, 52, .12);--app-accent-2: #e9b071;--app-pattern: rgba(47, 111, 104, .16);--app-ok: #2f6f68;--app-ok-soft: rgba(47, 111, 104, .12);--app-danger: #b0432f;--app-on-accent: #ffffff;--app-shadow: 0 18px 44px rgba(72, 52, 28, .1);--app-shadow-soft: 0 8px 22px rgba(72, 52, 28, .07);--app-tabbar: rgba(250, 246, 238, .92);--app-chip: rgba(28, 26, 23, .05);--app-hero-fallback: radial-gradient(circle at 70% 10%, #6d7fa3 0, #33415c 46%, #191f2b 100%);--app-scrim-top: rgba(12, 14, 20, .18);--app-scrim-bottom: rgba(12, 14, 20, .76);--app-on-hero: #ffffff;--app-radius-xl: 26px;--app-radius-lg: 20px;--app-radius-md: 14px;--app-ease: cubic-bezier(.16, 1, .3, 1);--app-display-font: "Songti SC", "Noto Serif SC", Georgia, "Times New Roman", serif;--app-game-canvas: #f8f3e9;--app-game-grid: rgba(28, 26, 23, .09);--app-game-snake: #4f938a;--app-game-head: #1d4a45;--app-game-food: #c96a34;--app-game-scrim: rgba(38, 31, 22, .34);--game-cell: #faf4e8;--game-cell-border: rgba(28, 26, 23, .12);--game-cell-revealed: rgba(28, 26, 23, .035);--game-danger: #b3423b;--game-on-danger: #ffffff;--game-tone-warm: #a8541f;--game-tone-warm-soft: rgba(201, 106, 52, .14);--game-tone-warm-border: rgba(201, 106, 52, .34);--game-tone-cyan: #2f6f68;--game-tone-cyan-soft: rgba(47, 111, 104, .12);--game-tone-cyan-border: rgba(47, 111, 104, .3);--game-tone-blue: #37648f;--game-tone-blue-soft: rgba(55, 100, 143, .12);--game-tone-blue-border: rgba(55, 100, 143, .3);--game-tone-steel: #6d6659;--game-tone-steel-soft: rgba(109, 102, 89, .12);--game-tone-steel-border: rgba(109, 102, 89, .3);--game-count-1: #2f6f68;--game-count-2: #37648f;--game-count-3: #b3423b;--game-count-4: #8a5a1f;--game-count-5: #7a3f2a;--game-count-6: #4a6b35;--game-count-7: #4a4540;--game-count-8: #8b8377;--game-tile-2-bg: #efe9de;--game-tile-2-ink: #5d574e;--game-tile-4-bg: #ecdfcc;--game-tile-4-ink: #4b4237;--game-tile-8-bg: #f0c9a4;--game-tile-8-ink: #5b2f12;--game-tile-16-bg: #e8a76f;--game-tile-16-ink: #ffffff;--game-tile-32-bg: #dd8c4d;--game-tile-32-ink: #ffffff;--game-tile-64-bg: #c96a34;--game-tile-64-ink: #ffffff;--game-tile-128-bg: #a6cfc9;--game-tile-128-ink: #14403a;--game-tile-256-bg: #6fb3a8;--game-tile-256-ink: #0b322c;--game-tile-512-bg: #2f6f68;--game-tile-512-ink: #ffffff;--game-tile-1024-bg: #37648f;--game-tile-1024-ink: #ffffff;--game-tile-2048-bg: #a94f1d;--game-tile-2048-ink: #ffffff;--game-tile-super-bg: #23272e;--game-tile-super-ink: #ffffff}.dark{--ion-background-color: #0f1115;--ion-background-color-rgb: 15, 17, 21;--ion-text-color: #f3f0ea;--ion-text-color-rgb: 243, 240, 234;--ion-card-background: #171a20;--ion-color-primary: #e7965f;--ion-color-primary-rgb: 231, 150, 95;--ion-color-primary-contrast: #1a120b;--ion-color-primary-contrast-rgb: 26, 18, 11;--ion-color-primary-shade: #cb8454;--ion-color-primary-tint: #e9a16f;--ion-color-secondary: #6cb3a8;--ion-color-secondary-rgb: 108, 179, 168;--ion-color-secondary-contrast: #0b1917;--ion-color-secondary-contrast-rgb: 11, 25, 23;--ion-color-secondary-shade: #5f9e94;--ion-color-secondary-tint: #7bbbb1;--ion-color-medium: #9a9387;--ion-color-medium-rgb: 154, 147, 135;--ion-color-medium-contrast: #101114;--ion-color-medium-contrast-rgb: 16, 17, 20;--ion-color-medium-shade: #888177;--ion-color-medium-tint: #a49e93;--ion-color-danger: #e0776f;--ion-color-danger-rgb: 224, 119, 111;--ion-color-danger-contrast: #1c0d0b;--ion-color-danger-contrast-rgb: 28, 13, 11;--ion-color-danger-shade: #c56962;--ion-color-danger-tint: #e3857d;--app-bg: #0f1115;--app-surface: #171a20;--app-surface-2: #1d2129;--app-border: rgba(255, 255, 255, .09);--app-border-strong: rgba(255, 255, 255, .17);--app-text: #f3f0ea;--app-text-2: #b4aea4;--app-text-3: #847e74;--app-accent: #e7965f;--app-accent-soft: rgba(231, 150, 95, .14);--app-accent-2: #f0bd90;--app-pattern: rgba(108, 179, 168, .16);--app-ok: #6cb3a8;--app-ok-soft: rgba(108, 179, 168, .14);--app-danger: #e0776f;--app-on-accent: #1a120b;--app-shadow: 0 20px 48px rgba(0, 0, 0, .34);--app-shadow-soft: 0 10px 24px rgba(0, 0, 0, .24);--app-tabbar: rgba(19, 21, 26, .9);--app-chip: rgba(255, 255, 255, .06);--app-hero-fallback: radial-gradient(circle at 70% 10%, #38465f 0, #1d2431 46%, #0d1016 100%);--app-scrim-top: rgba(6, 8, 12, .22);--app-scrim-bottom: rgba(6, 8, 12, .8);--app-on-hero: #ffffff;--app-game-canvas: #12151a;--app-game-grid: rgba(255, 255, 255, .07);--app-game-snake: #5da89c;--app-game-head: #eaf5f2;--app-game-food: #e7965f;--app-game-scrim: rgba(0, 0, 0, .55);--game-cell: #262b34;--game-cell-border: rgba(255, 255, 255, .09);--game-cell-revealed: rgba(255, 255, 255, .035);--game-danger: #e0776f;--game-on-danger: #1c0d0b;--game-tone-warm: #e7965f;--game-tone-warm-soft: rgba(231, 150, 95, .15);--game-tone-warm-border: rgba(231, 150, 95, .36);--game-tone-cyan: #6cb3a8;--game-tone-cyan-soft: rgba(108, 179, 168, .14);--game-tone-cyan-border: rgba(108, 179, 168, .34);--game-tone-blue: #82aede;--game-tone-blue-soft: rgba(130, 174, 222, .14);--game-tone-blue-border: rgba(130, 174, 222, .34);--game-tone-steel: #b3aa9b;--game-tone-steel-soft: rgba(179, 170, 155, .14);--game-tone-steel-border: rgba(179, 170, 155, .34);--game-count-1: #6cb3a8;--game-count-2: #82aede;--game-count-3: #e0776f;--game-count-4: #e6b76a;--game-count-5: #e7965f;--game-count-6: #9cc47e;--game-count-7: #d8d2c8;--game-count-8: #9a9387;--game-tile-2-bg: rgba(255, 255, 255, .06);--game-tile-2-ink: #d8d2c8;--game-tile-4-bg: rgba(255, 255, 255, .1);--game-tile-4-ink: #eee9e0;--game-tile-8-bg: #4a3526;--game-tile-8-ink: #f2c79c;--game-tile-16-bg: #6b4529;--game-tile-16-ink: #ffd9b3;--game-tile-32-bg: #8c552d;--game-tile-32-ink: #fff3e6;--game-tile-64-bg: #b0672f;--game-tile-64-ink: #ffffff;--game-tile-128-bg: #264a46;--game-tile-128-ink: #bfe4dd;--game-tile-256-bg: #2f6a63;--game-tile-256-ink: #e6f6f2;--game-tile-512-bg: #3c857c;--game-tile-512-ink: #0c2521;--game-tile-1024-bg: #37648f;--game-tile-1024-ink: #e8f1fb;--game-tile-2048-bg: #e7965f;--game-tile-2048-ink: #221407;--game-tile-super-bg: #3a3f4a;--game-tile-super-ink: #ffffff}html,body,ion-app{background:var(--app-bg);color:var(--app-text)}ion-content{--background: var(--app-bg)}ion-title{font-size:1.02rem;font-weight:650;letter-spacing:-.01em}.page-toolbar{--background: var(--app-bg);--border-width: 0;--min-height: 58px;--padding-start: 8px;--padding-end: 8px}.page-toolbar ion-title{padding-inline:12px}.help-popover{--width: min(320px, calc(100vw - 28px) );--max-height: min(62vh, 420px)}.help-sheet{width:100%;padding:14px 16px 16px;color:var(--app-text-2);font-size:.78rem;line-height:1.62}.help-sheet p{margin:0 0 8px}.help-sheet p:last-child{margin-bottom:0}.help-sheet strong{color:var(--app-text);font-weight:600}.help-sheet a{color:var(--app-accent)}.icon-action{display:grid;width:34px;height:34px;place-items:center;margin-inline-end:4px;border:0;border-radius:12px;background:transparent;color:var(--app-text-2);cursor:pointer;-webkit-tap-highlight-color:transparent}.icon-action ion-icon{width:20px;height:20px}.icon-action:active{background:var(--app-chip);color:var(--app-accent)}.screen{width:100%;max-width:780px;margin:0 auto;padding:12px 20px 40px}.eyebrow{margin:0;color:var(--app-accent);font-size:.66rem;font-weight:650;letter-spacing:.18em;text-transform:uppercase}.home-top{padding-top:calc(var(--ion-safe-area-top, 0px) + 18px)}.hero{position:relative;display:flex;min-height:286px;flex-direction:column;justify-content:space-between;padding:20px 20px 22px;overflow:hidden;border-radius:var(--app-radius-xl);background:var(--app-hero-fallback);box-shadow:var(--app-shadow);color:#fff;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .9s var(--app-ease),transform 9s var(--app-ease)}.hero-media.is-ready{opacity:1;transform:scale(1)}.hero:after{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--app-scrim-top),transparent 40%,var(--app-scrim-bottom));content:""}.hero-top,.hero-body{position:relative;z-index:2}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hero-date{font-size:.7rem;letter-spacing:.14em;opacity:.84;text-transform:uppercase}.hero-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#0a0c1257;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.76rem;white-space:nowrap}.hero-pill ion-icon{width:15px;height:15px;color:inherit}.hero-actions{display:flex;align-items:center;gap:2px}.hero-actions .icon-action{color:var(--app-on-hero);opacity:.9}.hero-name{margin:0 0 6px;font-family:var(--app-display-font);font-size:clamp(2.6rem,9vw,3.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.02}.hero-role{margin:0;font-size:.82rem;letter-spacing:.02em;opacity:.88}.scene-row{display:flex;gap:8px;margin-top:14px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.scene-row::-webkit-scrollbar,.chip-row::-webkit-scrollbar{display:none}.chip{display:inline-flex;flex:none;align-items:center;gap:5px;padding:7px 13px;border:1px solid var(--app-border);border-radius:999px;background:transparent;color:var(--app-text-2);font:inherit;font-size:.76rem;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.chip:disabled{opacity:.45;cursor:default}.chip.is-active{border-color:var(--app-text);background:var(--app-text);color:var(--app-bg)}.chip-row{display:flex;gap:8px;padding:2px 0 6px;overflow-x:auto;scrollbar-width:none}.section{margin-top:26px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0;font-size:1.02rem;font-weight:650;letter-spacing:-.01em}.group-title{margin:0 0 10px;color:var(--app-text-3);font-size:.7rem;font-weight:650;letter-spacing:.14em}.section-link{color:var(--app-accent);font-size:.78rem;text-decoration:none}.section-link.has-icon{display:inline-flex;align-items:center}.section-link.has-icon ion-icon{width:16px;height:16px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-tile{display:flex;min-width:0;flex-direction:column;gap:8px;padding:13px 12px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft);color:var(--app-text);text-decoration:none}.quick-tile:active{transform:scale(.985)}.quick-badge{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:var(--app-accent-soft);color:var(--app-accent)}.quick-badge ion-icon{width:19px;height:19px}.quick-label{overflow:hidden;font-size:.76rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.card{padding:16px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.tool-search{margin:10px 0 8px;padding-inline:0;--background: var(--app-surface);--border-radius: 16px;--box-shadow: none;--color: var(--app-text);--placeholder-color: var(--app-text-3);--icon-color: var(--app-text-3);--clear-button-color: var(--app-text-3)}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}@media(min-width:640px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tool-card{display:flex;min-height:138px;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft);color:var(--app-text);text-decoration:none}.tool-card:active{transform:scale(.985)}.tool-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:var(--app-accent-soft);color:var(--app-accent)}.tool-icon ion-icon{width:19px;height:19px}.tool-index{color:var(--app-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.1em}.tool-name{font-size:.9rem;font-weight:650}.tool-desc{color:var(--app-text-2);font-size:.73rem;line-height:1.5}.tool-tag{margin-top:auto;color:var(--app-text-3);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.empty-note{margin:22px 0;color:var(--app-text-3);font-size:.8rem;line-height:1.6;text-align:center}.field-label{display:block;margin:18px 0 7px;color:var(--app-text-3);font-size:.7rem;font-weight:600;letter-spacing:.08em}ion-textarea.tool-textarea{--background: var(--app-surface);--color: var(--app-text);--padding-start: 14px;--padding-end: 14px;--padding-top: 12px;--padding-bottom: 12px;margin-top:12px;border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);overflow:hidden;font-size:16px}ion-input.tool-input{--background: var(--app-surface);--color: var(--app-text);--padding-start: 14px;--padding-end: 14px;--padding-top: 10px;--padding-bottom: 10px;--highlight-color-focused: var(--app-accent);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);overflow:hidden;font-size:16px}.segmented{margin:12px 0 4px;--background: var(--app-surface-2);border-radius:12px}.result-card{margin-top:16px;padding:14px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface-2)}.result-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--app-text-3);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.copy-button{display:inline-flex;align-items:center;padding:6px;border:0;background:transparent;color:var(--app-accent);font:inherit;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:none;cursor:pointer}.copy-button ion-icon{width:16px;height:16px}.copy-button:disabled{color:var(--app-text-3);cursor:default;opacity:.55}.result-text{max-height:300px;margin:0;overflow:auto;color:var(--app-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.result-text.is-error{color:var(--ion-color-danger)}.result-muted{color:var(--app-text-3)}.copy-row{display:flex;gap:8px;margin-top:12px}.swatch{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface)}.swatch-color{width:64px;height:64px;flex:none;border:1px solid var(--app-border);border-radius:18px}.swatch-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:600}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}.setting-row+.setting-row{border-top:1px solid var(--app-border)}.setting-copy strong{display:block;font-size:.86rem;font-weight:600}.setting-copy span{display:block;margin-top:3px;color:var(--app-text-3);font-size:.72rem;line-height:1.5}.setting-hint{margin:10px 0 0;color:var(--app-text-3);font-size:.7rem;line-height:1.6}.section-note{color:var(--app-text-3);font-size:.72rem}.inline-row{display:flex;align-items:center;gap:10px}.inline-row .tool-input{flex:1}.value-bar{display:flex;align-items:center;gap:10px;margin-top:8px;padding:11px 12px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface)}.value-bar-label{width:78px;flex:none;color:var(--app-text-3);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.value-bar code{min-width:0;flex:1;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.swatch-copy{min-width:0}.swatch-line{margin-top:3px;color:var(--app-text-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.now-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:12px 14px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface)}.now-strip .field-label{margin:0}.now-strip strong{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.range-head{display:flex;align-items:flex-end;justify-content:space-between;margin-top:18px}.range-head .field-label{margin:0}.range-head strong{color:var(--app-accent);font-size:.78rem}.option-list{margin-top:10px}.option-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--app-border)}.option-copy strong{display:block;font-size:.82rem;font-weight:600}.option-copy span{display:block;margin-top:2px;color:var(--app-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.strength{display:flex;align-items:center;gap:10px;margin-top:16px}.strength-label{padding:2px 9px;border-radius:999px;background:var(--app-chip);font-size:.66rem;font-weight:600}.strength-label.is-1{color:var(--ion-color-danger)}.strength-label.is-2{color:var(--app-accent)}.strength-label.is-3{color:var(--ion-color-secondary)}.strength-track{height:6px;flex:1;overflow:hidden;border-radius:999px;background:var(--app-surface-2)}.strength-fill{display:block;height:100%;border-radius:inherit;background:var(--app-text-3)}.strength-fill.is-1{width:33%;background:var(--ion-color-danger)}.strength-fill.is-2{width:66%;background:var(--app-accent)}.strength-fill.is-3{width:100%;background:var(--ion-color-secondary)}.theme-row{margin:0}.skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:10px}.skin-option{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface);color:var(--app-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.skin-option:disabled{opacity:.45;cursor:default}.skin-option.is-active{border-color:var(--app-text);box-shadow:inset 0 0 0 1px var(--app-text)}.skin-swatch{width:34px;height:34px;flex:none;border-radius:11px;background:linear-gradient(135deg,var(--swatch-a) 0 50%,var(--swatch-b) 50% 100%);box-shadow:inset 0 0 0 1px var(--app-border-strong)}.skin-swatch.is-style{background:linear-gradient(135deg,var(--swatch-a) 0 33%,var(--swatch-b) 33% 66%,var(--swatch-c) 66% 100%)}.skin-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.skin-name{font-size:.78rem;line-height:1.3}.skin-tone{color:var(--app-text-3);font-size:.68rem}.me-actions{margin-top:24px}.not-found{padding-top:24px}.not-found .section-link{display:inline-block;margin-top:18px}.coverage{margin-top:20px;padding:16px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.coverage-head{display:flex;align-items:baseline;justify-content:space-between;font-size:.78rem}.coverage-head strong{color:var(--app-accent);font-size:.86rem}.progress-track{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:var(--app-surface-2)}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--app-accent),var(--app-accent-2))}.recent-list{display:flex;flex-direction:column;margin-top:18px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft);overflow:hidden}.recent-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--app-border);color:inherit;text-decoration:none}.recent-row:first-child{border-top:0}.recent-row:active{background:var(--app-chip)}.recent-date{flex:none;min-width:38px;color:var(--app-text-3);font-size:.68rem;font-variant-numeric:tabular-nums}.recent-body{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.recent-body strong{font-size:.82rem;font-weight:600;color:var(--app-text)}.recent-body span{overflow:hidden;color:var(--app-text-3);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.recent-arrow{width:14px;height:14px;flex:none;color:var(--app-text-3)}.auth-content{--background: radial-gradient(circle at 18% 8%, var(--app-accent-soft), transparent 46%), radial-gradient(circle at 88% 92%, var(--app-pattern), transparent 44%), var(--app-bg)}.auth-wrap{display:flex;min-height:100%;max-width:420px;flex-direction:column;justify-content:center;margin:0 auto;padding:48px 24px calc(48px + var(--ion-safe-area-bottom, 0px))}.auth-mark{display:grid;width:56px;height:56px;place-items:center;border-radius:18px;background:var(--app-accent);box-shadow:var(--app-shadow);color:var(--app-on-accent);font-family:var(--app-display-font);font-size:1.7rem}.auth-title{margin:24px 0 6px;font-family:var(--app-display-font);font-size:2rem;font-weight:600;letter-spacing:-.015em}.auth-sub{margin:0 0 26px;color:var(--app-text-2);font-size:.86rem;line-height:1.65}.auth-field-label{display:block;margin-bottom:7px;color:var(--app-text-3);font-size:.7rem;font-weight:600;letter-spacing:.08em}.auth-pending{display:flex;justify-content:center;padding:28px 0;color:var(--app-accent)}ion-input.auth-field{--background: var(--app-surface);--color: var(--app-text);--padding-start: 14px;--padding-end: 14px;--padding-top: 10px;--padding-bottom: 10px;--highlight-color-focused: var(--app-accent);border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);overflow:hidden;margin-bottom:14px;font-size:16px}.auth-error{margin:12px 0 0;color:var(--ion-color-danger);font-size:.78rem}.auth-note{margin-top:26px;color:var(--app-text-3);font-size:.7rem;line-height:1.6;text-align:center}.profile-card{display:flex;align-items:center;gap:14px;margin-top:22px;padding:18px;border:1px solid var(--app-border);border-radius:var(--app-radius-xl);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.avatar{display:grid;width:58px;height:58px;flex:none;place-items:center;border-radius:20px;background:linear-gradient(135deg,var(--app-accent),var(--app-accent-2));color:var(--app-on-accent);font-family:var(--app-display-font);font-size:1.6rem}.profile-name{margin:0;font-size:1.1rem;font-weight:650}.profile-role{margin:3px 0 0;color:var(--app-text-2);font-size:.76rem}.profile-meta{margin:4px 0 0;color:var(--app-text-3);font-size:.68rem}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.stat-cell{padding:12px;border:1px solid var(--app-border);border-radius:var(--app-radius-md);background:var(--app-surface);text-align:center}.stat-cell strong{display:block;font-size:1.05rem;font-weight:650}.stat-cell span{display:block;margin-top:2px;color:var(--app-text-3);font-size:.66rem}ion-tab-bar{--background: var(--app-tabbar);--border: 0;border-top:1px solid var(--app-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}ion-tab-button{--color: var(--app-text-3);--color-selected: var(--app-accent);--padding-top: 6px;font-size:.64rem;letter-spacing:.02em}ion-back-button{--color: var(--app-text-2)}@media(min-width:820px){ion-tab-bar{width:min(780px,calc(100% - 48px));margin:0 auto 18px;border:1px solid var(--app-border);border-radius:22px;box-shadow:var(--app-shadow-soft)}}.route-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--app-bg);color:var(--app-text-3);font-size:.76rem}html[data-skin] ion-header{background:var(--app-surface)}html[data-skin] .page-toolbar{--background: var(--app-surface)}html[data-skin] .page-toolbar ion-title{color:var(--app-accent)}html[data-skin] .quick-badge,html[data-skin] .tool-icon{background:var(--app-accent-block);color:var(--app-on-accent)}html[data-skin] ion-tab-bar{--background: var(--app-accent-block);border-top:0;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-skin] ion-tab-button{--color: var(--app-on-accent-soft);--color-selected: var(--app-on-accent)}@media(min-width:820px){html[data-skin] ion-tab-bar{border-color:transparent;box-shadow:var(--app-shadow)}}html[data-skin] .chip.is-active{border-color:var(--app-accent-block);background:var(--app-accent-block);color:var(--app-on-accent)}html[data-skin] .section-head h2{color:var(--app-accent)}.route-error{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:calc(32px + var(--ion-safe-area-top, 0px)) 24px calc(32px + var(--ion-safe-area-bottom, 0px));overflow-y:auto;background:var(--app-bg);color:var(--app-text);text-align:center}.route-error.is-app{position:fixed;z-index:999}.route-error-icon{color:var(--app-text-3);font-size:40px}.route-error h2{margin:6px 0 0;font-size:1.05rem;font-weight:650;letter-spacing:-.01em}.route-error p{max-width:32ch;margin:0;color:var(--app-text-2);font-size:.8rem;line-height:1.65}.route-error-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.route-error-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--app-border-strong);border-radius:999px;background:var(--app-surface);color:var(--app-text);font:inherit;font-size:.8rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.route-error-btn ion-icon{font-size:16px}.route-error-btn.is-primary{border-color:transparent;background:var(--app-accent);color:var(--app-on-accent);font-weight:600}.route-error-detail{max-width:46ch;margin-top:14px;color:var(--app-text-3);font-size:.7rem;text-align:left}.route-error-detail summary{cursor:pointer;text-align:center}.route-error-detail code{display:block;margin-top:8px;padding:10px 12px;border-radius:var(--app-radius-md);background:var(--app-chip);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5;word-break:break-all}.dark ion-searchbar{--cancel-button-color: var(--app-text-2)}ion-toast{--background: var(--app-surface-2);--color: var(--app-text);--border-radius: 14px}@media(prefers-reduced-motion:reduce){.hero-media,.quick-tile,.tool-card{transition:none}}.guest-compose{margin-top:22px}.color-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.color-dot{width:30px;height:30px;padding:0;border:2px solid transparent;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}.color-dot.is-active{border-color:var(--app-text);box-shadow:0 0 0 2px var(--app-bg) inset}.guest-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.guest-list{display:flex;flex-direction:column;gap:10px;margin:20px 0 0;padding:0;list-style:none}.guest-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface)}.guest-avatar{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:14px;color:#fff;font-size:1rem;font-weight:650}.guest-body{min-width:0;flex:1}.guest-meta{display:flex;align-items:baseline;gap:8px}.guest-meta strong{font-size:.82rem}.guest-meta time{color:var(--app-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem}.guest-body p{margin:6px 0 0;color:var(--app-text-2);font-size:.82rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.guest-delete{display:grid;flex:none;width:38px;height:38px;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--app-text-3);cursor:pointer}.guest-delete ion-icon{width:17px;height:17px}.guest-delete:active{background:var(--app-chip);color:var(--ion-color-danger)}.hiit{margin-top:16px}.hiit-ring{position:relative;display:grid;width:min(268px,76vw);aspect-ratio:1;margin:24px auto 0;place-items:center;border-radius:50%;background:conic-gradient(var(--app-accent) var(--hiit-progress, 100%),var(--app-surface-2) 0)}.hiit-ring:before{position:absolute;inset:13px;border-radius:50%;background:var(--app-surface);box-shadow:var(--app-shadow-soft);content:""}.hiit-ring-inner{position:relative;display:flex;align-items:center;flex-direction:column;gap:4px}.hiit-phase{color:var(--app-text-3);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.hiit-clock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.6rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.05}.hiit-round{color:var(--app-text-2);font-size:.74rem}.hiit.phase-work .hiit-clock{color:var(--app-accent)}.hiit.phase-rest .hiit-clock,.hiit.phase-done .hiit-clock{color:var(--ion-color-secondary)}.hiit-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.hiit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}@media(min-width:640px){.hiit-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}.hiit-field .tool-input{--padding-top: 8px;--padding-bottom: 8px;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.tool-card.is-static:active{transform:none}.tool-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.tool-tags em{padding:3px 8px;border-radius:999px;background:var(--app-chip);color:var(--app-text-3);font-size:.62rem;font-style:normal}.tool-tags em.is-group{background:var(--app-accent-soft);color:var(--app-accent)}.about-card{display:flex;flex-direction:column;gap:16px}.about-block+.about-block{padding-top:16px;border-top:1px solid var(--app-border)}.about-title{margin:0 0 8px;color:var(--app-text-3);font-family:var(--app-display-font);font-size:.8rem;font-weight:600;letter-spacing:.04em}.about-title ion-icon{width:15px;height:15px;margin-right:5px;color:var(--app-accent);vertical-align:-2px}.about-lines{margin:0;color:var(--app-text-2);font-size:.78rem;line-height:1.75}.about-lines a{color:var(--app-accent);text-decoration:none}.about-list{margin:0;padding-left:16px;color:var(--app-text-2);font-size:.76rem;line-height:1.8}.profile-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-tags span{padding:4px 10px;border-radius:999px;background:var(--app-chip);color:var(--app-text-2);font-size:.7rem}.native-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.native-card{padding:16px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.native-head{display:flex;align-items:center;gap:10px}.native-icon{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:12px;background:var(--app-chip);color:var(--app-text-2)}.native-icon ion-icon{width:20px;height:20px}.native-title{flex:1;min-width:0}.native-title h2{margin:0;font-size:.92rem;font-weight:650}.native-title code{display:block;margin-top:2px;color:var(--app-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;word-break:break-all}.native-badge{flex:none;padding:4px 9px;border-radius:999px;background:var(--app-chip);color:var(--app-text-3);font-size:.64rem}.native-badge.is-on{background:var(--app-ok-soft);color:var(--app-ok)}.native-desc{margin:10px 0 0;color:var(--app-text-2);font-size:.75rem;line-height:1.6}.native-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.native-rows{display:grid;grid-template-columns:minmax(80px,32%) 1fr;gap:6px 12px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--app-border);font-size:.74rem}.native-rows dt{color:var(--app-text-3)}.native-rows dd{margin:0;color:var(--app-text);word-break:break-all}.native-items{display:flex;flex-direction:column;gap:8px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--app-border);list-style:none}.native-items li{display:flex;justify-content:space-between;gap:10px;font-size:.73rem}.native-items small{color:var(--app-text-3)}.native-log{display:flex;flex-direction:column;gap:4px;margin:12px 0 0;padding:10px 12px;border-radius:var(--app-radius-md);background:var(--app-surface-2);list-style:none}.native-log li{color:var(--app-text-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.native-preview-button{display:block;width:100%;margin-top:12px;padding:0;border:0;border-radius:var(--app-radius-md);background:none;overflow:hidden}.native-preview{display:block;width:100%;max-height:240px;object-fit:cover}.native-fail{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--app-border);color:var(--app-danger);font-size:.74rem}.native-fail-detail{display:block;margin-top:4px;color:var(--app-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;word-break:break-all}.native-viewer{display:flex;flex:1;flex-direction:column;background:var(--app-bg)}.native-viewer-img{flex:1;min-height:0;width:100%;object-fit:contain;background:var(--app-surface-2)}.native-viewer-bar{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px calc(10px + var(--ion-safe-area-bottom, 0px))}.game-tone-warm{--game-accent: var(--game-tone-warm);--game-accent-soft: var(--game-tone-warm-soft);--game-accent-border: var(--game-tone-warm-border)}.game-tone-cyan{--game-accent: var(--game-tone-cyan);--game-accent-soft: var(--game-tone-cyan-soft);--game-accent-border: var(--game-tone-cyan-border)}.game-tone-blue{--game-accent: var(--game-tone-blue);--game-accent-soft: var(--game-tone-blue-soft);--game-accent-border: var(--game-tone-blue-border)}.game-tone-steel{--game-accent: var(--game-tone-steel);--game-accent-soft: var(--game-tone-steel-soft);--game-accent-border: var(--game-tone-steel-border)}.game-list{display:grid;gap:12px;margin-top:24px}@media(min-width:620px){.game-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.game-entry{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);color:inherit;background:var(--app-surface);box-shadow:var(--app-shadow-soft);text-decoration:none;transition:transform .2s var(--app-ease),border-color .2s var(--app-ease),box-shadow .2s var(--app-ease)}.game-entry:hover{transform:translateY(-3px);border-color:var(--game-accent-border);box-shadow:var(--app-shadow)}.game-entry:focus-visible{outline:2px solid var(--game-accent);outline-offset:3px}.game-entry-top{display:flex;align-items:center;justify-content:space-between}.game-entry-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--game-accent-border);border-radius:14px;background:var(--game-accent-soft);color:var(--game-accent)}.game-entry-icon ion-icon{width:24px;height:24px}.game-entry-tag{padding:4px 9px;border:1px solid var(--app-border);border-radius:999px;color:var(--app-text-3);font-size:.64rem;letter-spacing:.08em}.game-entry h2{margin:4px 0 0;font-family:var(--app-display-font);font-size:1.25rem;font-weight:600}.game-entry p{margin:0;color:var(--app-text-2);font-size:.78rem;line-height:1.6}.game-entry-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--app-border);color:var(--app-text-3);font-size:.68rem}.game-entry-best{color:var(--game-accent);font-weight:600}.game-hud{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 16px;margin-top:20px;padding:14px 16px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow-soft)}.game-stats{display:flex;flex-wrap:wrap;gap:10px 22px}.game-stat{display:grid;min-width:62px;gap:2px}.game-stat span{color:var(--app-text-3);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.game-stat strong{color:var(--app-text);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.2}.game-stat small{color:var(--game-accent);font-size:.64rem}.game-hud-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.game-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--app-border-strong);border-radius:999px;color:var(--app-text-2);background:var(--app-chip);font:inherit;font-size:.78rem;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s var(--app-ease),background-color .16s var(--app-ease),color .16s var(--app-ease),transform .16s var(--app-ease)}.game-button:hover:not(:disabled){border-color:var(--game-accent-border);color:var(--app-text)}.game-button:active:not(:disabled){transform:scale(.98)}.game-button:focus-visible{outline:2px solid var(--game-accent);outline-offset:2px}.game-button.is-primary,.game-button.is-active{border-color:var(--game-accent-border);color:var(--game-accent);background:var(--game-accent-soft)}.game-button.is-primary:hover:not(:disabled),.game-button.is-active:hover:not(:disabled){border-color:var(--game-accent);color:var(--game-accent)}.game-button.is-ghost{border-color:transparent;color:var(--app-text-3);background:transparent}.game-button.is-ghost:hover:not(:disabled){border-color:var(--app-border);color:var(--app-text-2)}.game-button:disabled{opacity:.4;cursor:not-allowed}.game-select-field{display:flex;align-items:center;gap:7px;color:var(--app-text-3);font-size:.72rem;white-space:nowrap}.game-select{min-height:36px;padding:0 9px;border:1px solid var(--app-border-strong);border-radius:10px;color:var(--app-text);background:var(--app-surface-2);font:inherit;font-size:16px;cursor:pointer}.game-select:focus-visible{outline:2px solid var(--game-accent);outline-offset:2px}.game-stage{position:relative;margin-top:16px}.game-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.game-overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:18px;border-radius:var(--app-radius-xl);background:var(--app-game-scrim);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:game-overlay-in .24s var(--app-ease)}.game-overlay-card{width:min(320px,100%);padding:24px 22px;border:1px solid var(--game-accent-border);border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow);text-align:center}.game-overlay-kicker{margin:0;color:var(--game-accent);font-size:.64rem;letter-spacing:.18em}.game-overlay-card h2{margin:8px 0;font-family:var(--app-display-font);font-size:1.35rem;font-weight:600}.game-overlay-card p:not(.game-overlay-kicker){margin:0;color:var(--app-text-2);font-size:.8rem;line-height:1.7}.game-overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}@keyframes game-overlay-in{0%{opacity:0}to{opacity:1}}.game-2048-stage{width:min(100%,440px);margin:16px auto 0}.game-2048-board{padding:10px;border:1px solid var(--app-border);border-radius:var(--app-radius-xl);background:var(--app-surface-2);box-shadow:var(--app-shadow-soft)}.game-2048-grid{--game-2048-gap: 10px;--game-2048-cell: calc((100% - 3 * var(--game-2048-gap)) / 4);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:var(--game-2048-gap);aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none}.game-2048-cell{border-radius:10px;background:var(--app-chip)}.game-2048-tile{position:absolute;display:grid;width:var(--game-2048-cell);aspect-ratio:1;place-items:center;left:calc(var(--col) * (var(--game-2048-cell) + var(--game-2048-gap)));top:calc(var(--row) * (var(--game-2048-cell) + var(--game-2048-gap)));border:1px solid transparent;border-radius:10px;color:var(--game-tile-2-ink);background:var(--game-tile-2-bg);font-size:clamp(1rem,4.6vw,1.7rem);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;animation:game-tile-in .18s var(--app-ease);transition:left .12s var(--app-ease),top .12s var(--app-ease),background-color .12s linear,border-color .12s linear,color .12s linear}.game-2048-tile.is-wide{font-size:clamp(.85rem,3.6vw,1.3rem)}.game-2048-tile[data-value="4"]{color:var(--game-tile-4-ink);background:var(--game-tile-4-bg)}.game-2048-tile[data-value="8"]{color:var(--game-tile-8-ink);background:var(--game-tile-8-bg)}.game-2048-tile[data-value="16"]{color:var(--game-tile-16-ink);background:var(--game-tile-16-bg)}.game-2048-tile[data-value="32"]{color:var(--game-tile-32-ink);background:var(--game-tile-32-bg)}.game-2048-tile[data-value="64"]{color:var(--game-tile-64-ink);background:var(--game-tile-64-bg);box-shadow:0 0 18px color-mix(in srgb,var(--game-tile-64-bg) 45%,transparent)}.game-2048-tile[data-value="128"]{color:var(--game-tile-128-ink);background:var(--game-tile-128-bg)}.game-2048-tile[data-value="256"]{color:var(--game-tile-256-ink);background:var(--game-tile-256-bg)}.game-2048-tile[data-value="512"]{color:var(--game-tile-512-ink);background:var(--game-tile-512-bg)}.game-2048-tile[data-value="1024"]{color:var(--game-tile-1024-ink);background:var(--game-tile-1024-bg);box-shadow:0 0 20px color-mix(in srgb,var(--game-tile-1024-bg) 40%,transparent)}.game-2048-tile[data-value="2048"]{color:var(--game-tile-2048-ink);background:var(--game-tile-2048-bg);box-shadow:0 0 26px color-mix(in srgb,var(--game-tile-2048-bg) 50%,transparent)}.game-2048-tile.is-super{color:var(--game-tile-super-ink);background:var(--game-tile-super-bg);box-shadow:0 0 24px color-mix(in srgb,var(--game-tile-super-ink) 18%,transparent)}@keyframes game-tile-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.game-snake-stage{width:min(100%,460px);margin:16px auto 0}.game-snake-canvas{display:block;width:100%;aspect-ratio:1;border:1px solid var(--app-border);border-radius:var(--app-radius-xl);background:var(--app-game-canvas);box-shadow:var(--app-shadow-soft);touch-action:none}.game-snake-ready{position:absolute;bottom:16px;left:50%;transform:translate(-50%);margin:0;padding:7px 14px;border:1px solid var(--game-accent-border);border-radius:999px;color:var(--game-accent);background:var(--app-game-canvas);font-size:.72rem;line-height:1;white-space:nowrap;pointer-events:none;animation:game-ready-in .25s var(--app-ease) both}@keyframes game-ready-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.game-snake-pad{display:grid;width:max-content;margin:14px auto 0;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,46px);gap:8px}.game-snake-pad button{display:grid;place-items:center;border:1px solid var(--app-border-strong);border-radius:var(--app-radius-md);color:var(--app-text-2);background:var(--app-chip);font:inherit;font-size:1.1rem;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.game-snake-pad button:hover{border-color:var(--game-accent-border);color:var(--game-accent);background:var(--game-accent-soft)}.game-snake-pad button:active{background:var(--game-accent-soft)}.game-snake-pad button:focus-visible{outline:2px solid var(--game-accent);outline-offset:2px}.game-snake-pad .up{grid-column:2;grid-row:1}.game-snake-pad .left{grid-column:1;grid-row:2}.game-snake-pad .down{grid-column:2;grid-row:2}.game-snake-pad .right{grid-column:3;grid-row:2}.game-mines-stage{width:min(100%,460px);margin:16px auto 0}.game-mines-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:3px;padding:8px;border:1px solid var(--app-border);border-radius:var(--app-radius-lg);background:var(--app-surface-2);box-shadow:var(--app-shadow-soft);touch-action:manipulation}.game-mines-cell{display:grid;aspect-ratio:1;place-items:center;padding:0;border:1px solid var(--game-cell-border);border-radius:5px;color:var(--app-text);background:var(--game-cell);font:inherit;font-size:clamp(.72rem,2.6vw,.95rem);font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.game-mines-cell:hover:not(.is-revealed){border-color:var(--game-accent-border);background:var(--app-chip)}.game-mines-cell:focus-visible{position:relative;z-index:1;outline:2px solid var(--game-accent);outline-offset:1px}.game-mines-cell.is-revealed{border-color:transparent;background:var(--game-cell-revealed);cursor:default}.game-mines-cell.is-flag,.game-mines-cell.is-mine{border-color:var(--game-accent-border);color:var(--game-accent);background:var(--game-accent-soft)}.game-mines-cell.is-exploded{border-color:var(--game-danger);color:var(--game-on-danger);background:var(--game-danger)}.game-mines-cell.is-wrong{border-color:var(--app-border);color:var(--game-danger);background:var(--app-chip)}.game-mines-cell.is-count-1{color:var(--game-count-1)}.game-mines-cell.is-count-2{color:var(--game-count-2)}.game-mines-cell.is-count-3{color:var(--game-count-3)}.game-mines-cell.is-count-4{color:var(--game-count-4)}.game-mines-cell.is-count-5{color:var(--game-count-5)}.game-mines-cell.is-count-6{color:var(--game-count-6)}.game-mines-cell.is-count-7{color:var(--game-count-7)}.game-mines-cell.is-count-8{color:var(--game-count-8)}.game-memory-stage{width:min(100%,520px);margin:16px auto 0}.game-memory-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px}.game-memory-card{position:relative;aspect-ratio:4 / 5;padding:0;border:0;border-radius:var(--app-radius-md);background:transparent;perspective:640px;cursor:pointer;-webkit-tap-highlight-color:transparent}.game-memory-card:focus-visible{outline:2px solid var(--game-accent);outline-offset:3px}.game-memory-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .34s var(--app-ease)}.game-memory-card.is-flipped .game-memory-inner{transform:rotateY(180deg)}.game-memory-face{position:absolute;inset:0;display:grid;place-items:center;border:1px solid var(--app-border);border-radius:var(--app-radius-md);backface-visibility:hidden;-webkit-backface-visibility:hidden}.game-memory-back{color:var(--app-text-3);background:linear-gradient(145deg,var(--app-surface-2),var(--app-chip));font-size:.9rem;font-weight:600}.game-memory-card:hover:not(.is-matched) .game-memory-back{border-color:var(--game-accent-border);color:var(--game-accent)}.game-memory-front{transform:rotateY(180deg);border-color:var(--game-accent-border);color:var(--game-accent);background:var(--game-accent-soft);font-size:clamp(1.2rem,4.4vw,1.9rem)}.game-memory-card.is-matched{cursor:default}.game-memory-card.is-matched .game-memory-front{border-color:var(--app-border);color:var(--app-text-3);background:var(--app-chip)}@media(max-width:640px){.game-hud{align-items:stretch;flex-direction:column;padding:12px 14px}.game-hud-actions{width:100%}.game-hud-actions .game-button{flex:1 1 auto}.game-select-field{flex:1 1 100%;justify-content:space-between}.game-select{flex:1}.game-2048-board{padding:8px}.game-2048-grid{--game-2048-gap: 8px}.game-mines-board{gap:2px;padding:6px}.game-mines-cell{border-radius:4px}.game-memory-board{gap:6px}.game-overlay{padding:12px}.game-overlay-card{padding:20px 18px}.game-overlay-actions .game-button{flex:1 1 auto}.game-snake-pad{grid-template-columns:repeat(3,58px);grid-template-rows:repeat(2,48px)}}@media(prefers-reduced-motion:reduce){.game-entry,.game-2048-tile,.game-memory-inner,.game-button,.game-snake-pad button{transition:none}.game-2048-tile,.game-snake-ready,.game-overlay{animation:none}.game-entry:hover{transform:none}}.embed-fit-fill{position:absolute;inset:var(--offset-top, 0px) 0 calc(var(--offset-bottom, 0px) + var(--ion-safe-area-bottom, 0px));overflow:hidden}.embed-stage{width:100%}.embed-frame{display:block;width:100%;height:100%;border:0;background:var(--app-surface);opacity:0;transition:opacity .3s var(--app-ease)}.embed-frame.is-ready{opacity:1}.embed-fit-content>.embed-frame{height:420px}.embed-fit-content{position:relative;padding-bottom:calc(20px + var(--ion-safe-area-bottom, 0px))}.embed-swipe-edge{position:absolute;top:0;bottom:0;left:0;width:50px;z-index:2}.embed-status{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:var(--app-bg);color:var(--app-text-3);font-size:.78rem;text-align:center}.embed-actions{display:flex;gap:10px}.embed-open{display:grid;width:34px;height:34px;place-items:center;margin-inline-end:4px;border-radius:12px;color:var(--app-text-2);text-decoration:none}.embed-open:active{background:var(--app-chip)}@media(prefers-reduced-motion:reduce){.embed-frame{transition:none}}html[data-style=looseleaf]{--ion-font-family: "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", sans-serif;--ion-background-color: #fbf7ec;--ion-background-color-rgb: 251, 247, 236;--ion-text-color: #2f2a22;--ion-text-color-rgb: 47, 42, 34;--ion-card-background: #fffdf6;--ion-color-primary: #2c4f9e;--ion-color-primary-rgb: 44, 79, 158;--ion-color-primary-contrast: #fffdf6;--ion-color-primary-contrast-rgb: 255, 253, 246;--ion-color-primary-shade: #27458b;--ion-color-primary-tint: #4161a8;--app-bg: #fbf7ec;--app-surface: #fffdf6;--app-surface-2: #f4eddb;--app-border: #cfc3a8;--app-border-strong: #2f2a22;--app-text: #2f2a22;--app-text-2: #574e3f;--app-text-3: #8a7f6a;--app-accent: #2c4f9e;--app-accent-block: #f7c370;--app-on-accent: #2f2a22;--app-accent-2: #f6957d;--app-accent-soft: rgba(247, 195, 112, .38);--app-ok: #2f6f68;--app-ok-soft: rgba(143, 193, 247, .24);--app-danger: #b0432f;--app-shadow: 4px 4px 0 rgba(47, 42, 34, .9);--app-shadow-soft: 2px 2px 0 rgba(47, 42, 34, .16);--app-tabbar: #fbf7ec;--app-chip: rgba(47, 42, 34, .06);--app-radius-xl: 18px;--app-radius-lg: 14px;--app-radius-md: 10px;--app-display-font: "Bradley Hand", "Chalkboard SE", "Marker Felt", "Yuanti SC", "PingFang SC", cursive;--looseleaf-wobble: 16px 12px 18px 13px / 12px 18px 13px 16px;color-scheme:light}html[data-style=looseleaf] ion-content{--background: repeating-linear-gradient( to bottom, transparent 0 27px, rgba(44, 79, 158, .09) 27px 28px ) fixed, #fbf7ec}html[data-style=looseleaf] ion-header{background:var(--app-bg)}html[data-style=looseleaf] .page-toolbar{--background: var(--app-bg);--border-width: 0 0 2px;--border-color: var(--app-border-strong)}html[data-style=looseleaf] .page-toolbar ion-title{font-family:var(--app-display-font);font-size:1.16rem;letter-spacing:0}html[data-style=looseleaf] .card,html[data-style=looseleaf] .quick-tile,html[data-style=looseleaf] .tool-card,html[data-style=looseleaf] .profile-card,html[data-style=looseleaf] .stat-strip,html[data-style=looseleaf] .skin-option,html[data-style=looseleaf] .style-option,html[data-style=looseleaf] .guest-item{border:1.5px solid var(--app-border-strong);border-radius:var(--looseleaf-wobble);box-shadow:3px 3px #2f2a22d9}html[data-style=looseleaf] .tool-card:active,html[data-style=looseleaf] .quick-tile:active{transform:translate(2px,2px);box-shadow:1px 1px #2f2a22d9}html[data-style=looseleaf] .quick-badge,html[data-style=looseleaf] .tool-icon{border:1.5px solid var(--app-border-strong);border-radius:10px 8px 11px 7px/8px 11px 7px 10px;background:var(--app-accent-block);color:var(--app-on-accent)}html[data-style=looseleaf] .chip{border:1.5px solid var(--app-border-strong);border-radius:999px;color:var(--app-text-2)}html[data-style=looseleaf] .chip.is-active{border-color:var(--app-border-strong);background:var(--app-accent-block);color:var(--app-on-accent);box-shadow:2px 2px #2f2a22d9}html[data-style=looseleaf] .section-head h2,html[data-style=looseleaf] .about-title,html[data-style=looseleaf] .profile-name{font-family:var(--app-display-font);letter-spacing:0}html[data-style=looseleaf] .eyebrow,html[data-style=looseleaf] .group-title,html[data-style=looseleaf] .section-note,html[data-style=looseleaf] .profile-meta{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.02em}html[data-style=looseleaf] ion-tab-bar{--background: var(--app-bg);border-top:2px solid var(--app-border-strong);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-style=looseleaf] ion-tab-button{--color: var(--app-text-3);--color-selected: var(--app-accent)}html[data-style=looseleaf] ion-tab-button.tab-selected ion-icon{filter:drop-shadow(1.5px 1.5px 0 rgba(47,42,34,.35))}@media(min-width:820px){html[data-style=looseleaf] ion-tab-bar{border:2px solid var(--app-border-strong);border-radius:999px;box-shadow:3px 3px #2f2a22d9}}html[data-style=looseleaf] ion-button{--border-radius: 12px 9px 13px 10px;--box-shadow: 3px 3px 0 rgba(47, 42, 34, .85);font-family:var(--app-display-font);letter-spacing:0}html[data-style=looseleaf] ion-searchbar{--border-radius: 12px 9px 13px 10px;--box-shadow: none;--background: var(--app-surface);border:1.5px solid var(--app-border-strong);border-radius:12px 9px 13px 10px}html[data-style=looseleaf] .route-error{background:var(--app-bg)}
