:root{--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-optical-sizing:auto;--bg-primary:#09091b;--bg-secondary:#101027;--surface-1:#15152d;--surface-2:#1d1c3a;--surface-hover:#252344;--surface-selected:#9770e72b;--purple-primary:#a978f2;--purple-light:#c4a8ff;--gold-primary:#ffd05e;--text-primary:#f7f5ff;--text-secondary:#bbb7d1;--border-subtle:#c4b1ff29;--shadow-soft:0 8px 30px #0003;--shadow-elevated:0 18px 48px #00000061;--accent:var(--purple-primary);--canvas:var(--bg-primary);--canvas-raised:var(--surface-1);--cream:var(--text-primary);--muted:var(--text-secondary);--gold:var(--gold-primary);--orange:#f2a174;--green:var(--purple-light);--line:var(--border-subtle);font-weight:400}*{box-sizing:border-box}html{background:var(--bg-primary);min-width:320px;min-height:100%;scroll-padding-top:calc(82px + env(safe-area-inset-top))}body{min-width:320px;min-height:100dvh;margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--green);outline-offset:3px}.app-shell{background:radial-gradient(ellipse at 48% 12%, #6f4bae26, transparent 38rem), radial-gradient(ellipse at 96% 56%, #6d53a312, transparent 34rem), var(--bg-primary);min-height:100dvh}.app-header{z-index:5;min-height:72px;padding:calc(12px + env(safe-area-inset-top)) clamp(20px, 4vw, 64px) 12px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#10221ef0;align-items:center;gap:28px;display:flex;position:sticky;top:0}.brand{color:var(--cream);font-family:var(--font-display);letter-spacing:-.04em;flex:none;align-items:center;gap:11px;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{border-radius:12px;display:block}.primary-navigation{align-items:center;gap:6px;display:flex}.navigation-link{min-height:44px;color:var(--muted);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:.91rem;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.navigation-link:hover,.navigation-link:focus-visible{color:var(--cream);background:#f8f4e912}.navigation-link.is-active{color:var(--gold);background:#f4dfb11f;border-color:#f4dfb12e}.more-menu{position:relative}.more-menu summary{cursor:pointer;list-style:none}.more-menu summary::-webkit-details-marker{display:none}.more-menu-popover{z-index:8;border:1px solid var(--line);background:var(--surface-2);border-radius:16px;gap:4px;width:176px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 42px #00000059}.more-menu-popover .navigation-link{border-radius:10px;justify-content:flex-start}.header-status{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:.78rem;font-weight:600;display:inline-flex}.header-status:before{background:var(--green);content:"";border-radius:50%;flex:none;width:8px;height:8px}.header-status.is-offline:before{background:var(--orange)}.page-frame{width:min(100% - 40px,1040px);min-height:calc(100vh - 132px);margin:0 auto;padding:clamp(40px,7vw,84px) 0 72px}.home-page>h1,.foundation-page>h1,.fatal-error h1{max-width:780px;color:var(--cream);font-family:var(--font-display);letter-spacing:-.067em;margin:8px 0 18px;font-size:clamp(2.3rem,5.1vw,4.55rem);font-weight:800;line-height:1.05}.eyebrow{color:var(--green);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800;line-height:1.4}.page-description{max-width:660px;color:var(--muted);margin:0;font-size:clamp(1rem,1.7vw,1.13rem);line-height:1.75}.data-summary{border:1px solid var(--line);background:#f8f4e90b;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;max-width:640px;margin:34px 0 54px;padding:20px 22px;display:flex}.summary-title{color:var(--cream);margin:7px 0 3px;font-size:1.08rem;font-weight:700}.summary-note{color:var(--muted);margin:0;font-size:.87rem}.connection-indicator{background:var(--green);border-radius:50%;flex:none;width:11px;height:11px;box-shadow:0 0 0 6px #9ac2a51f}.foundation-page{max-width:760px}.foundation-page>h1{font-size:clamp(2rem,4vw,3.4rem)}.foundation-page>.section-title{color:var(--cream);font-family:var(--font-display);letter-spacing:-.06em;margin:8px 0 18px;font-size:clamp(1.65rem,3.1vw,2.5rem);font-weight:800;line-height:1.1}.foundation-card{background:linear-gradient(130deg,#9ac2a517,#f8f4e909);border:1px solid #f4dfb11f;border-radius:22px;align-items:flex-start;gap:18px;margin-top:32px;padding:24px;display:flex}.card-mark{color:#201a14;background:var(--gold);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:1.2rem;display:grid}.foundation-card h3{color:var(--cream);font-family:var(--font-display);letter-spacing:-.02em;margin:1px 0 7px;font-size:1.08rem}.foundation-card p{max-width:570px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.65}.app-footer{border-top:1px solid var(--line);color:#8e9c91;justify-content:space-between;gap:16px;padding:22px clamp(20px,4vw,64px) 24px;font-size:.77rem;display:flex}.compact-navigation{display:none}.more-menu .navigation-link span:first-child{letter-spacing:.13em}.more-menu:not(.compact-navigation .more-menu) .navigation-link span:first-child{display:none}.startup-screen,.fatal-error{text-align:center;align-content:center;justify-items:center;gap:15px;min-height:100vh;padding:28px;display:grid}.startup-screen p{color:var(--muted)}.fatal-error{text-align:left;align-content:center;justify-items:start;width:min(100% - 40px,640px);margin:0 auto}.fatal-error h1{font-size:clamp(2rem,5vw,3.5rem)}.fatal-error>p:not(.eyebrow){color:var(--muted);line-height:1.7}.button{color:#1c211c;background:var(--gold);cursor:pointer;border:0;border-radius:999px;min-height:46px;padding:0 18px;font-weight:800}.button:hover:not(:disabled),.button:focus-visible{filter:brightness(1.08)}.button:focus-visible{outline-offset:3px;outline:3px solid #9ac2a5e6}.button:disabled{cursor:not-allowed;opacity:.55}.button-secondary{border:1px solid var(--line);color:var(--cream);background:#f8f4e912}.button-danger{color:#fff7f0;background:#9e493f}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.backup-section{border:1px solid var(--line);background:#f8f4e909;border-radius:24px;margin-top:44px;padding:clamp(20px,4vw,30px)}.backup-section>.section-title{color:var(--cream);font-family:var(--font-display);letter-spacing:-.055em;margin:8px 0 12px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.12}.backup-section>.page-description{font-size:.98rem}.install-offline-details{margin-top:16px}.backup-status{color:var(--muted);background:#f8f4e90e;border-radius:15px;gap:5px;margin:24px 0 20px;padding:16px 18px;font-size:.86rem;display:grid}.backup-status strong{color:var(--cream);font-size:.96rem}.backup-actions{flex-wrap:wrap;gap:11px;margin-top:18px;display:flex}.backup-progress,.backup-unavailable{color:var(--muted);margin:14px 0 0;font-size:.86rem}.backup-message{border:1px solid var(--line);border-radius:14px;margin:16px 0 0;padding:13px 15px;font-size:.9rem;line-height:1.5}.backup-message-error{color:#ffd5ca;background:#9e493f2e;border-color:#e2827080}.backup-message-success{color:#d9f1dd;background:#4670502e;border-color:#9ac2a559}.backup-preview{background:#10221e8c;border:1px solid #f4dfb12b;border-radius:18px;margin-top:24px;padding:20px}.native-migration-preview>p{color:var(--muted);margin:8px 0;font-size:.9rem;line-height:1.55}.backup-confirmation{color:var(--cream);align-items:flex-start;gap:10px;margin-top:20px;font-size:.9rem;line-height:1.5;display:flex}.backup-confirmation input{accent-color:var(--accent);flex:none;margin-top:3px}.backup-message-success p{margin:0 0 12px}.backup-preview h3,.backup-preview h4{color:var(--cream);font-family:var(--font-display);margin:0 0 13px}.backup-preview h3{font-size:1.2rem}.backup-preview h4{margin-top:21px;margin-bottom:9px;font-size:.95rem}.backup-preview-meta{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:0;display:grid}.backup-preview-meta div{gap:4px;display:grid}.backup-preview-meta dt{color:var(--muted);font-size:.77rem}.backup-preview-meta dd{color:var(--cream);margin:0;font-size:.9rem;font-weight:700}.backup-totals{color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px 18px;margin:0;padding-left:19px;font-size:.86rem;display:grid}.backup-count-details{color:var(--muted);margin-top:16px;font-size:.86rem}.backup-count-details summary{cursor:pointer;width:fit-content;color:var(--purple-light);font-weight:700}.backup-count-details ul{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px 20px;margin:12px 0 0;padding:0;list-style:none;display:grid}.backup-count-details li{justify-content:space-between;gap:14px;display:flex}.backup-count-details li strong{color:var(--cream);font-variant-numeric:tabular-nums}.backup-warning{color:#ffd9bd;background:#d4824d1f;border-left:3px solid #d4824d;border-radius:5px 13px 13px 5px;gap:5px;margin-top:22px;padding:15px 16px;font-size:.88rem;line-height:1.5;display:grid}.backup-warning span{color:var(--muted)}.backup-confirm-actions{margin-top:17px}.backup-footnote{color:#aab7ac;margin:18px 0 0;font-size:.8rem;line-height:1.5}.button-small{min-height:44px;padding:0 14px}.text-button{text-align:left;border-radius:9px;align-items:center;min-height:44px;padding:0 10px;display:inline-flex}.text-button:hover:not(:disabled){background:#f8f4e912}.update-notice{z-index:9;border:1px solid var(--line);color:var(--cream);background:var(--surface-2);border-radius:999px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:10px 12px 10px 18px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 34px #00000059}@media (width<=1199px){.primary-navigation{display:none}.compact-navigation{z-index:7;bottom:max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a312bf7;border:1px solid #f4dfb129;border-radius:24px;justify-content:space-around;align-items:center;gap:6px;width:min(100vw - 24px,560px);min-height:76px;padding:8px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 38px #00000047}.compact-navigation .navigation-link{border-radius:16px;flex-direction:column;flex:1 1 0;gap:2px;min-width:72px;min-height:58px;padding:5px 10px;font-size:.76rem}.compact-navigation .navigation-link span:first-child{font-family:sans-serif;font-size:1.3rem;line-height:1.05}.compact-navigation .more-menu{flex:1 1 0}.compact-navigation .more-menu summary{width:100%;display:flex}.compact-navigation .more-menu-popover{width:176px;top:auto;bottom:calc(100% + 12px);right:0}.compact-navigation .more-menu-popover .navigation-link{flex-direction:row;align-items:center;min-height:44px;font-size:.86rem}.page-frame{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.app-footer{display:none}.update-notice{right:16px;bottom:calc(104px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);left:auto}}@media (width<=760px){.app-header{gap:12px;min-height:64px;padding-inline:18px}.brand{font-size:.94rem}.brand img{width:34px;height:34px}.primary-navigation{display:none}.header-status{font-size:.72rem}.page-frame{width:min(100% - 36px,660px);min-height:calc(100vh - 160px);padding-top:48px;padding-bottom:calc(106px + env(safe-area-inset-bottom))}.data-summary{margin:28px 0 42px;padding:17px}.foundation-card{gap:14px;padding:19px}.app-footer{padding-bottom:calc(18px + env(safe-area-inset-bottom));font-size:.7rem}.compact-navigation{z-index:7;left:50%;right:auto;bottom:max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1a312bf7;border:1px solid #f4dfb129;border-radius:22px;justify-content:space-around;align-items:center;gap:3px;width:min(100vw - 24px,560px);min-height:68px;padding:6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 38px #00000047}.compact-navigation .navigation-link{border-radius:15px;flex-direction:column;gap:1px;min-width:64px;min-height:54px;padding:4px 8px;font-size:.68rem}.compact-navigation .navigation-link span:first-child{font-family:sans-serif;font-size:1.25rem;line-height:1.05}.compact-navigation .more-menu summary{display:flex}.compact-navigation .more-menu-popover{width:160px;top:auto;bottom:calc(100% + 12px);right:0}.compact-navigation .more-menu-popover .navigation-link{flex-direction:row;align-items:center;min-height:44px;font-size:.86rem}.update-notice{right:16px;bottom:calc(92px + env(safe-area-inset-bottom))}}@media (width<=390px){.brand span{font-size:.85rem}.header-status{text-overflow:ellipsis;max-width:95px;overflow:hidden}.app-footer span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:46%;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.resume-activity-card{max-width:760px;color:var(--cream);background:linear-gradient(105deg,#7145a4,#402a68);border:1px solid #f8f4e933;border-radius:24px;align-items:center;gap:18px;margin:0 0 50px;padding:20px;text-decoration:none;display:flex;box-shadow:0 18px 44px #0000002e}.resume-icon{color:#2f2147;background:var(--gold);border-radius:19px;flex:none;place-items:center;width:58px;height:58px;font-size:1.15rem;display:grid}.resume-activity-card>span:last-child,.activity-card-copy,.reward-activity-row>span:nth-child(2),.settings-activity-row label>span{gap:4px;display:grid}.resume-eyebrow{color:#f8f4e9bd;letter-spacing:.12em;font-size:.67rem;font-weight:800}.resume-activity-card strong{font-family:var(--font-display);font-size:1.45rem}.resume-activity-card>span:last-child>span:last-child{color:#f8f4e9c7;font-size:.88rem}.home-activities,.repertoire-panel,.tasks-panel,.reward-activity-list,.achievement-section,.practice-settings,.archive-page{margin-top:42px}.section-heading-row,.practice-header,.archive-card-heading,.archive-card-actions,.repertoire-selector-row,.form-inline-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.section-heading-row{margin-bottom:17px}.section-heading-row .section-title,.practice-settings .section-title,.reward-activity-list .section-title,.achievement-section .section-title{color:var(--cream);font-family:var(--font-display);letter-spacing:-.055em;margin:6px 0 0;font-size:clamp(1.55rem,3vw,2.05rem)}.text-link,.back-link{color:var(--gold);font-size:.88rem;font-weight:700;text-decoration:none}.back-link{margin:-12px 0 22px;display:inline-block}.activity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:13px;display:grid}.activity-card-shell{min-width:0;position:relative}.activity-card,.reward-activity-row{border:1px solid var(--line);min-width:0;color:var(--cream);background:#f8f4e90b;border-radius:19px;align-items:center;gap:14px;padding:17px;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s;display:flex}.activity-card:hover,.reward-activity-row:hover{background:#f8f4e916;border-color:#f4dfb161;transform:translateY(-1px)}.activity-symbol{width:52px;height:52px;color:var(--gold);background:#f4dfb11f;border-radius:17px;flex:none;place-items:center;font-size:1.5rem;display:grid;overflow:hidden}.activity-symbol img{object-fit:cover;width:100%;height:100%}.activity-image-edit{z-index:1;color:#fff;cursor:pointer;opacity:.88;touch-action:manipulation;background:#10221ed6;border:1px solid #f8f4e9b8;border-radius:14px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:21px;left:21px;box-shadow:0 3px 10px #0000004d}.activity-image-edit span{font-size:1.35rem;line-height:1}.activity-image-edit:hover,.activity-image-edit:focus-visible{border-color:var(--gold);background:var(--surface-2);opacity:1}.activity-image-edit:disabled{cursor:wait;opacity:.55}.activity-image-actions{z-index:2;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;gap:3px;width:min(190px,100% - 32px);padding:5px;display:grid;position:absolute;top:70px;left:16px;box-shadow:0 10px 25px #0006}.activity-image-actions button{min-height:44px;color:var(--cream);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;padding:8px 10px;font-size:.82rem}.activity-image-actions button:hover,.activity-image-actions button:focus-visible{color:var(--gold);background:#f8f4e914}.activation-shell{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 26%, #a978f230, transparent 32rem), radial-gradient(ellipse at 100% 100%, #ffd05e0e, transparent 28rem), var(--bg-primary);place-items:center;display:grid}.activation-card{width:min(100%,520px);box-shadow:var(--shadow-elevated);text-align:center;background:linear-gradient(145deg,#1d1c3af5,#101027f5);border:1px solid #c4b1ff33;border-radius:30px;padding:clamp(28px,7vw,54px)}.activation-mark{background:#ffd05e14;border:1px solid #ffd05e47;border-radius:25px;place-items:center;width:82px;height:82px;margin:0 auto 23px;display:grid;box-shadow:0 12px 30px #0000003d}.activation-mark img{display:block}.activation-card h1{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.065em;margin:12px 0 14px;font-size:clamp(2rem,7vw,2.8rem);font-weight:800;line-height:1.05}.activation-description{max-width:360px;color:var(--text-secondary);margin:0 auto;font-size:1rem;line-height:1.7}.activation-form{text-align:left;gap:12px;margin-top:31px;display:grid}.activation-form label{color:var(--text-primary);font-size:.88rem;font-weight:750}.activation-form input{width:100%;min-height:58px;color:var(--text-primary);letter-spacing:.055em;text-align:center;text-transform:uppercase;background:#09091bb8;border:1px solid #c4b1ff45;border-radius:15px;padding:0 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.9rem,3.5vw,1.08rem);font-weight:700;transition:border-color .14s,box-shadow .14s}.activation-form input::placeholder{color:#bbb7d199;letter-spacing:.02em;font-size:.83em}.activation-form input:focus-visible{border-color:var(--purple-primary);outline-offset:2px;outline:3px solid #a978f247;box-shadow:0 0 0 4px #a978f214}.activation-form input[aria-invalid=true]{border-color:#f28b94}.activation-hint,.activation-privacy{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.6}.activation-submit{color:#201631;background:linear-gradient(110deg,#d4b6ff,#b387f4 62%,#a978f2);width:100%;min-height:52px;margin-top:8px;box-shadow:0 10px 26px #8759d240}.activation-submit:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 12px 32px #8759d257}.activation-error,.activation-notice{color:#ffb5ba;margin:2px 0;font-size:.88rem;line-height:1.55}.activation-notice{text-align:left;background:#ff6f7f14;border:1px solid #ffb5ba38;border-radius:12px;margin-top:19px;padding:11px 13px}.activation-privacy{text-align:center;margin-top:7px}.activation-success{color:#d0b9ff;justify-content:center;align-items:center;gap:10px;margin:32px 0 4px;font-size:1rem;font-weight:800;animation:.24s ease-out both activation-success-in;display:flex}.activation-success span{color:#1b1625;background:var(--gold-primary);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}@keyframes activation-success-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.activation-card{border-radius:25px;padding:30px 22px}.activation-form input{letter-spacing:.025em}}@media (prefers-reduced-motion:reduce){.activation-success{animation:none}}.activity-card-copy{min-width:0}.activity-card-copy strong,.reward-activity-row strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.03rem;overflow:hidden}.activity-card-copy span,.reward-activity-row small{color:var(--muted);font-size:.8rem}.activity-chevron{color:var(--gold);margin-left:auto;font-size:1.8rem}.empty-state{background:#f8f4e909;border:1px dashed #f4dfb14d;border-radius:20px;padding:27px}.empty-state h3{color:var(--cream);font-family:var(--font-display);margin:0 0 7px}.empty-state p{color:var(--muted);margin:0 0 18px;line-height:1.6}.practice-page,.rewards-page,.archive-page{padding-bottom:30px}.practice-header{align-items:flex-start;margin-bottom:27px}.practice-header h1,.rewards-page>h1,.archive-page>h1{color:var(--cream);font-family:var(--font-display);letter-spacing:-.065em;margin:7px 0 13px;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.04}.practice-header .page-description{font-size:.98rem}.practice-header-actions{padding-top:24px}.repertoire-panel,.tasks-panel,.practice-settings{border:1px solid var(--line);background:#f8f4e909;border-radius:23px;padding:clamp(17px,3vw,25px)}.repertoire-selector-row{flex-wrap:wrap;justify-content:flex-start}.field-label{color:var(--cream);gap:7px;font-size:.88rem;font-weight:700;display:grid}.field-label>span,.optional-label{color:var(--muted);font-size:.76rem;font-weight:500}.field-label>input,.field-label>select,.inline-form>input,.inline-form input,.inline-form select,.inline-form textarea,.task-note-form textarea,.recording-dialog>input,.repertoire-selector-row select,.point-rule-row input{width:100%;min-height:44px;color:var(--cream);background:var(--surface-2);font:inherit;border:1px solid #f4dfb138;border-radius:11px;padding:10px 12px}.repertoire-selector-row select{width:min(100%,390px)}.inline-form,.task-create-form,.point-rules-form{border:1px solid var(--line);background:#10221e8c;border-radius:15px;gap:12px;margin-top:18px;padding:17px;display:grid}.profile-settings-form{border:1px solid var(--line);background:#10221e8c;border-radius:15px;gap:12px;max-width:560px;margin-top:22px;padding:17px;display:grid}.profile-settings-form h3{color:var(--cream);font-family:var(--font-display);margin:0;font-size:1.08rem}.profile-settings-form .summary-note{margin:0}.profile-settings-form .button{justify-self:start}.image-preview-dialog{z-index:20;width:min(100%,520px);max-height:calc(100dvh - max(36px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));border:1px solid var(--line);color:var(--cream);background:var(--surface-2);border-radius:22px;margin:auto;padding:clamp(18px,4vw,28px);position:fixed;inset:0;overflow:auto;box-shadow:0 24px 70px #00000080}.image-preview-dialog::backdrop{background:#050e0cc7}.image-preview-dialog h2{font-family:var(--font-display);margin:0 0 18px;font-size:clamp(1.25rem,4vw,1.65rem)}.image-preview-frame{border:1px solid var(--line);background:#10221ecc;border-radius:15px;place-items:center;min-height:220px;max-height:min(52vh,430px);display:grid;overflow:hidden}.image-preview-frame img{object-fit:contain;width:100%;max-height:min(52vh,430px);display:block}.image-preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.inline-form textarea,.task-note-form textarea{resize:vertical}.inline-form .button{justify-self:start}.task-list,.archive-list{gap:11px;margin-top:18px;display:grid}.task-card,.archive-card{border:1px solid var(--line);background:#10221e85;border-radius:17px;padding:17px}.task-card.is-marked{border-color:#d4824d8c}.task-card.is-completed{background:#10221e47}.task-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.task-title-line h3,.archive-card-heading h2{color:var(--cream);font-family:var(--font-display);margin:0;font-size:1.08rem}.task-mark,.task-complete-label,.archive-status{color:var(--gold);background:#f4dfb11c;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800}.task-complete-label{color:#b9dfc2;background:#9ac2a51f}.task-action-row,.dialog-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;display:flex}.text-button{color:var(--gold);cursor:pointer;background:0 0;border:0;font-size:.82rem;font-weight:700}.text-button-danger{color:#f0a080}.task-notes{border-top:1px solid var(--line);margin-top:13px;padding-top:11px}.task-notes summary{width:fit-content;color:var(--green);cursor:pointer;font-size:.84rem;font-weight:700}.task-note{color:var(--cream);white-space:pre-wrap;background:#f8f4e90f;border-radius:11px;margin:12px 0 0;padding:11px 13px}.task-note-form{gap:9px;max-width:560px;margin-top:14px;display:grid}.task-note-form .button{justify-self:start}.saved-recording{color:var(--cream);grid-template-columns:minmax(100px,1fr) minmax(180px,320px) auto;align-items:center;gap:12px;margin-top:12px;font-size:.83rem;display:grid}.saved-recording audio,.recording-dialog audio{width:100%;min-width:0;height:40px}.backup-message{border-radius:13px;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;font-size:.88rem;display:flex}.dismiss-message{width:44px;min-width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;flex:none;place-items:center;font-size:1.25rem;display:grid}.dismiss-message:hover{background:#f8f4e914}.dialog-backdrop{z-index:20;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030a08bd;place-items:center;display:grid;position:fixed;inset:0}.recording-dialog{border:1px solid var(--line);background:var(--surface-2);border-radius:23px;gap:14px;width:min(100%,480px);padding:25px;display:grid;box-shadow:0 22px 70px #0000007a}.recording-dialog h2{color:var(--cream);font-family:var(--font-display);margin:-7px 0 0;font-size:1.55rem}.recording-live{color:#ff9d8c;margin:4px 0;font-weight:800}.dialog-actions{justify-content:flex-end}.reward-total-card{max-width:390px;color:var(--muted);background:#f4dfb114;border:1px solid #f4dfb138;border-radius:18px;justify-content:space-between;align-items:center;margin-top:28px;padding:20px 22px;display:flex}.reward-total-card strong{color:var(--gold);font-family:var(--font-display);font-size:2rem}.reward-activity-list{gap:10px;display:grid}.reward-activity-list>.section-title{margin:0 0 6px}.reward-activity-row b{color:var(--gold);white-space:nowrap;margin-left:auto}.achievement-count{width:40px;height:40px;color:var(--gold);background:#f4dfb11a;border-radius:50%;place-items:center;font-weight:800;display:grid}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.achievement-card{border:1px solid var(--line);background:#f8f4e90b;border-radius:17px;padding:19px}.achievement-mark{color:var(--gold);font-size:1.5rem}.achievement-card h3{color:var(--cream);font-family:var(--font-display);margin:9px 0 6px}.achievement-card p,.achievement-card>span:last-child,.archive-date{color:var(--muted);margin:0;font-size:.8rem}.game-hub-page>.reward-total-card{justify-content:flex-start;gap:18px;max-width:690px;margin:22px 0 30px}.reward-total-card>a{color:var(--gold);margin-left:auto;font-size:.84rem;font-weight:800;text-decoration:none}.puzzle-activity-list{margin-top:22px}.puzzle-activity-card{border:1px solid var(--line);background:#f8f4e909;border-radius:19px;overflow:hidden}.puzzle-activity-heading{width:100%;min-height:83px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:13px 16px;display:flex}.puzzle-activity-heading:hover,.puzzle-activity-card.is-expanded .puzzle-activity-heading{background:#f4dfb10b}.puzzle-activity-heading:focus-visible{outline-offset:-4px}.puzzle-activity-art{background-color:#203c34;background-position:50%;background-size:cover;border-radius:13px;flex:none;width:57px;height:57px}.puzzle-heading-copy{gap:5px;min-width:0;display:grid}.puzzle-heading-copy strong{color:var(--cream);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.puzzle-heading-copy small,.puzzle-status-pill{color:var(--muted);font-size:.76rem}.puzzle-status-pill{color:var(--gold);white-space:nowrap;border:1px solid #f4dfb12b;border-radius:999px;margin-left:auto;padding:7px 10px}.puzzle-expand-mark{width:27px;color:var(--gold);text-align:center;font-size:1.25rem}.puzzle-game-panel{border-top:1px solid var(--line);background:#09141157;padding:clamp(15px,3vw,25px)}.puzzle-game-toolbar,.studio-panel-heading,.studio-page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.puzzle-game-toolbar h3,.studio-panel-heading h2{color:var(--cream);font-family:var(--font-display);margin:3px 0 5px;font-size:1.17rem}.puzzle-game-toolbar p{color:var(--muted);margin:0;font-size:.82rem}.puzzle-toolbar-actions,.studio-arrangement-actions,.studio-selected-actions,.backup-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.game-inline-control{color:var(--muted);align-items:center;gap:8px;font-size:.77rem;font-weight:700;display:flex}.game-inline-control select,.studio-layout-form input{min-height:44px;color:var(--cream);background:var(--surface-2);font:inherit;border:1px solid #f4dfb138;border-radius:10px;padding:7px 10px}.puzzle-queue-manager{color:var(--muted);margin-top:12px;font-size:.78rem}.puzzle-queue-manager summary{cursor:pointer;width:fit-content}.puzzle-queue-manager ol{gap:6px;max-width:700px;margin:10px 0 0;padding-left:24px;display:grid}.puzzle-queue-manager li{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.puzzle-queue-manager li span{min-width:130px}.puzzle-progress-track{background:#f8f4e91a;border-radius:8px;height:7px;margin-top:18px;overflow:hidden}.puzzle-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#dba96f,#f0dba7);height:100%;transition:width .18s;display:block}.puzzle-help{color:var(--muted);margin:12px 0 15px;font-size:.79rem;line-height:1.5}.puzzle-correct-piece-action{margin:-4px 0 14px}.puzzle-play-layout{grid-template-columns:minmax(240px,1fr) minmax(150px,.42fr);align-items:start;gap:14px;display:grid}.puzzle-grid{aspect-ratio:1;-webkit-user-select:none;user-select:none;background:#233e36;border:1px solid #f4dfb140;border-radius:13px;justify-self:center;gap:2px;width:min(100%,650px);padding:5px;display:grid}.puzzle-cell{background:#f8f4e90f;border:1px solid #f4dfb129;border-radius:2px;min-width:0;min-height:0;overflow:hidden}.puzzle-cell.is-correct{border-color:#afdcb4b8;box-shadow:inset 0 0 0 1px #afdcb459}.puzzle-piece,.puzzle-tray-piece{cursor:grab;touch-action:none;background-color:#345449;background-repeat:no-repeat;border:0;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:block}.puzzle-piece:active,.puzzle-tray-piece:active{cursor:grabbing}.puzzle-piece.is-selected,.puzzle-tray-piece.is-selected{outline-offset:-3px;filter:brightness(1.18);outline:3px solid #f4dfb1}.puzzle-tray{border:1px solid var(--line);background:#f8f4e909;border-radius:14px;min-height:150px;padding:13px}.puzzle-tray-heading{color:var(--cream);justify-content:space-between;gap:8px;font-size:.79rem;display:flex}.puzzle-tray-heading span{color:var(--muted)}.puzzle-tray-pieces{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;margin-top:11px;display:grid}.puzzle-tray-piece{aspect-ratio:1;border:1px solid #f4dfb138;border-radius:7px}.puzzle-tray-empty{color:var(--muted);margin-top:16px;font-size:.77rem;line-height:1.5}.puzzle-game-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-size:.82rem;display:flex}.puzzle-next-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.puzzle-next-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.achievement-section{margin-top:38px}.game-achievement-card img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%;display:block}.studio-page{padding-bottom:36px}.studio-page-header{align-items:flex-end;margin-bottom:24px}.studio-page-header h1{color:var(--cream);font-family:var(--font-display);letter-spacing:-.065em;margin:7px 0 13px;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.04}.studio-page-header .page-description{max-width:690px}.studio-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:17px;display:grid}.studio-stats article{border:1px solid var(--line);background:#f8f4e90a;border-radius:15px;gap:6px;padding:14px 16px;display:grid}.studio-stats article span{color:var(--muted);font-size:.73rem}.studio-stats article strong{color:var(--gold);font-family:var(--font-display);font-size:1.13rem}.studio-stats>p{color:var(--muted);grid-column:1/-1;margin:1px 0 0;font-size:.78rem;line-height:1.5}.studio-workspace{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);align-items:start;gap:16px;display:grid}.studio-room-panel,.studio-catalog-panel{border:1px solid var(--line);background:#f8f4e909;border-radius:20px;min-width:0;padding:clamp(14px,2.5vw,21px)}.studio-panel-heading{align-items:center;margin-bottom:14px}.studio-points-pill{color:var(--gold);background:#f4dfb11a;border-radius:999px;flex:none;padding:7px 10px;font-size:.74rem;font-weight:800}.studio-stage{aspect-ratio:3/2;-webkit-user-select:none;user-select:none;background-color:#20352e;background-position:50%;background-size:100% 100%;border:1px solid #f4dfb140;border-radius:15px;width:100%;position:relative;overflow:hidden}.studio-stage-grid{z-index:1;opacity:0;transition:opacity .12s;display:grid;position:absolute;inset:0}.studio-stage:hover .studio-stage-grid,.studio-stage:focus-within .studio-stage-grid{opacity:1}.studio-stage-grid button{cursor:crosshair;touch-action:none;background:#fff8dc0a;border:1px dashed #fff8dc73;min-width:0;min-height:0;padding:0}.studio-stage-grid button:hover,.studio-stage-grid button:focus-visible{background:#ffe7a53d}.studio-stage-grid button:focus-visible,.studio-placed-item:focus-visible{outline-offset:-3px}.studio-placed-item{z-index:2;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:10px;min-width:44px;max-width:44%;min-height:44px;padding:0;position:absolute}.studio-placed-item img{object-fit:contain;filter:drop-shadow(0 3px 3px #00000061);pointer-events:none;width:100%;max-height:25vh;display:block}.studio-placed-item.is-selected{outline-offset:1px;outline:2px solid #f4dfb1}.studio-placed-item:active{cursor:grabbing}.studio-drop-hint{z-index:3;width:fit-content;max-width:calc(100% - 18px);color:var(--cream);pointer-events:none;background:#0c1915d4;border-radius:999px;margin:0 auto;padding:6px 10px;font-size:.7rem;position:absolute;bottom:9px;left:9px;right:9px}.studio-arrangement-actions{margin-top:12px}.studio-selected-actions{border-top:1px solid var(--line);flex-basis:100%;margin-top:3px;padding-top:9px}.studio-selected-actions span,.studio-saved-layouts>strong{color:var(--cream);margin-right:auto;font-size:.8rem;font-weight:800}.studio-selected-actions button,.studio-saved-layouts button{border:1px solid var(--line);min-height:44px;color:var(--gold);font:inherit;cursor:pointer;background:#f8f4e90b;border-radius:9px;padding:7px 11px;font-size:.72rem;font-weight:700}.studio-layout-form{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;padding-top:12px;display:flex}.studio-layout-form label{color:var(--muted);flex-basis:100%;font-size:.74rem;font-weight:700}.studio-layout-form input{flex:130px;min-width:0}.studio-saved-layouts{border-top:1px solid var(--line);gap:7px;margin-top:13px;padding-top:12px;display:grid}.studio-saved-layouts>div{border-top:1px solid #f4dfb11a;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 0;display:flex}.studio-saved-layouts>div span{color:var(--muted);flex:150px;font-size:.74rem}.studio-catalog-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:11px;display:flex}.studio-catalog-filters .filter-chip{min-height:44px;padding:0 12px;font-size:.74rem}.studio-catalog-filters label{min-height:44px;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:.71rem;display:inline-flex}.studio-catalog-list{overscroll-behavior:contain;gap:7px;max-height:690px;padding-right:3px;display:grid;overflow-y:auto}.studio-catalog-item{background:#08141045;border:1px solid #f4dfb121;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;padding:8px;display:grid}.studio-catalog-item.is-selected{background:#f4dfb114;border-color:#f4dfb199}.studio-catalog-select{min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;grid-column:1/-1;align-items:center;gap:8px;padding:0;display:flex}.studio-catalog-select:not(:disabled){cursor:pointer}.studio-catalog-select img{object-fit:contain;flex:none;width:45px;height:42px}.studio-catalog-copy{gap:3px;min-width:0;display:grid}.studio-catalog-copy strong{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.studio-catalog-copy small,.studio-cost-note,.studio-place-note,.studio-owned-label,.studio-locked-label{color:var(--muted);font-size:.73rem}.studio-owned-label,.studio-locked-label{background:#f8f4e90f;border-radius:999px;padding:3px 7px}.studio-owned-label{color:#b9dfc2}.studio-buy-button{min-height:44px;color:var(--gold);font:inherit;cursor:pointer;background:#f4dfb114;border:1px solid #f4dfb145;border-radius:8px;justify-self:end;padding:7px 11px;font-size:.72rem;font-weight:800}.studio-cost-note,.studio-place-note{grid-column:1/-1;margin-left:53px}.studio-buy-button:disabled,.studio-selected-actions button:disabled,.studio-saved-layouts button:disabled{opacity:.5;cursor:not-allowed}.native-game-import{margin-top:20px}.native-game-import code{color:var(--gold)}@media (width<=860px){.studio-workspace{grid-template-columns:minmax(0,1fr)}.studio-catalog-list{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));max-height:560px}}@media (width<=620px){.game-hub-page>.reward-total-card{flex-wrap:wrap;gap:6px 12px;padding:14px 16px}.reward-total-card>a{flex-basis:100%;margin:3px 0 0}.puzzle-activity-heading{gap:9px;padding:11px}.puzzle-activity-art{width:45px;height:45px}.puzzle-heading-copy small{max-width:42vw;font-size:.68rem}.puzzle-status-pill{display:none}.puzzle-game-toolbar,.studio-page-header{flex-direction:column;align-items:flex-start}.puzzle-play-layout{grid-template-columns:minmax(0,1fr)}.puzzle-grid{width:100%}.puzzle-tray{min-height:90px}.puzzle-tray-pieces{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}.studio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-stats article:last-of-type{grid-column:1/-1}.studio-panel-heading{flex-direction:column;align-items:flex-start}.studio-stage{aspect-ratio:1}.studio-catalog-list{grid-template-columns:minmax(0,1fr)}}.rewards-note{color:var(--muted);margin-top:29px;font-size:.83rem;line-height:1.55}.archive-filters{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.filter-chip{border:1px solid var(--line);min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px}.filter-chip.is-selected{color:var(--gold);background:#f4dfb11f;border-color:#f4dfb157}.archive-card-heading{align-items:flex-start}.archive-card-heading .eyebrow{margin-bottom:5px;font-size:.65rem}.archive-date{margin-top:9px}.archive-card-actions{color:var(--gold);flex-wrap:wrap;justify-content:flex-start;margin-top:13px;font-size:.83rem}.history-events{border-top:1px solid var(--line);margin-top:15px;padding-top:8px}.history-event{color:var(--cream);border-bottom:1px solid #f4dfb114;justify-content:space-between;gap:16px;padding:10px 0;font-size:.82rem;display:flex}.history-event>span:first-child{gap:3px;display:grid}.history-event small{color:var(--muted);font-size:.72rem}.history-event>span:last-child{color:var(--gold);text-align:right}.practice-settings{margin:34px 0 46px}.settings-activity-list,.point-rules-form{margin-top:22px}.settings-activity-list h3,.point-rules-form h3{color:var(--cream);font-family:var(--font-display);margin:0 0 10px;font-size:1.08rem}.settings-activity-row,.sound-setting{border-bottom:1px solid #f4dfb117;justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:9px 0;display:flex}.settings-activity-row label,.sound-setting{min-height:44px;color:var(--cream);align-items:center;gap:13px;display:flex}.settings-activity-row small,.sound-setting small{color:var(--muted);font-size:.77rem}.settings-activity-row input[type=checkbox],.sound-setting input[type=checkbox]{accent-color:#9ac2a5;width:20px;height:20px}.settings-add-activity{max-width:560px}.form-inline-row input{flex:auto}.form-inline-row .button{flex:none}.point-rules-form .summary-note{max-width:620px;line-height:1.5}.point-rule-row{max-width:560px;color:var(--cream);justify-content:space-between;align-items:center;gap:18px;font-size:.87rem;display:flex}.point-rule-row input{text-align:right;width:94px;min-height:44px}.sound-setting{cursor:pointer;justify-content:flex-start;margin-top:18px}.sound-setting span{gap:4px;display:grid}.library-resources{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:15px;margin-top:19px;display:grid}.library-note-section,.reference-files-section{border:1px solid var(--line);background:#f8f4e909;border-radius:16px;min-width:0;padding:17px}.library-resource-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.library-resource-heading h2{color:var(--cream);font-family:var(--font-display);margin:0;font-size:1rem}.library-resource-heading p,.resource-footnote{color:var(--muted);margin:5px 0 0;font-size:.75rem;line-height:1.45}.library-note-section form{justify-items:start;gap:9px;display:grid}.library-note-section textarea{width:100%;min-height:84px;color:var(--cream);background:var(--surface-2);font:inherit;resize:vertical;border:1px solid #f4dfb138;border-radius:11px;padding:10px 12px}.reference-file-list{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.reference-file-list li{border-bottom:1px solid #f4dfb114;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.reference-file-open{min-width:0;color:var(--gold);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.reference-file-open>span:first-child{font-size:1.25rem}.reference-file-open>span:last-child{gap:3px;min-width:0;display:grid}.reference-file-open strong{max-width:240px;color:var(--cream);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.reference-file-open small{color:var(--muted);font-size:.72rem}.resource-footnote{margin-top:12px}.reference-preview-dialog{border:1px solid var(--line);background:var(--surface-2);border-radius:20px;gap:13px;width:min(100%,980px);max-height:min(92vh,900px);padding:18px;display:grid;overflow:auto}.reference-preview-dialog iframe,.reference-preview-dialog>img,.reference-preview-dialog>video{object-fit:contain;background:#00000059;border:0;border-radius:12px;width:100%;min-height:300px;max-height:70vh;display:block}.reference-preview-dialog>.text-link{justify-self:start}.recording-review-video,.saved-recording video{background:#000;border-radius:12px;width:100%;max-height:270px}@media (width<=760px){.resume-activity-card{border-radius:20px;padding:16px}.resume-icon{width:50px;height:50px}.practice-header{display:block}.practice-header-actions{padding-top:15px}.section-heading-row{align-items:flex-start}.saved-recording{grid-template-columns:1fr auto}.saved-recording audio{grid-area:2/1/auto/-1}.archive-card-heading{display:grid}.archive-status{justify-self:start}}@media (hover:none),(pointer:coarse){.studio-stage-grid{opacity:.44}.studio-stage-grid button{background:#fff8dc06}}@media (width<=1199px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.app-header{grid-row:1}.page-frame{overscroll-behavior-y:contain;min-height:0;padding-bottom:calc(24px + env(safe-area-inset-bottom));grid-row:2;scroll-padding-top:24px;overflow:hidden auto}.app-footer{display:none}.compact-navigation{z-index:7;width:min(100vw - 24px,560px);margin:8px auto max(10px, env(safe-area-inset-bottom));grid-row:3;justify-self:center;position:relative;inset:auto;transform:none}}@media (width<=760px){.page-frame{width:min(100% - 36px,660px);padding-top:48px}.compact-navigation{gap:3px;min-height:68px;padding:6px}.compact-navigation .navigation-link{border-radius:15px;gap:1px;min-width:64px;min-height:54px;padding:4px 8px;font-size:.68rem}}.app-header{min-height:calc(72px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) calc(clamp(20px, 2vw, 30px) + env(safe-area-inset-right)) 10px calc(clamp(20px, 2vw, 30px) + env(safe-area-inset-left));-webkit-backdrop-filter:blur(22px)saturate(140%);background:#09091bd1;border-bottom-color:#c4b1ff1f;gap:clamp(14px,2.1vw,30px);box-shadow:0 8px 28px #0000001f}.brand{letter-spacing:-.035em;gap:10px;font-size:1.08rem;font-weight:740}.brand img{border-radius:12px;width:38px;height:38px;box-shadow:0 4px 12px #0000003b}.primary-navigation{gap:4px}.navigation-link{color:#c1bdd4;border-color:#0000;border-radius:15px;gap:8px;min-height:44px;padding-inline:14px;font-size:.93rem;font-weight:650;transition:background-color .18s,color .18s,border-color .18s,transform .16s}.navigation-link.is-active,.more-menu[open]>summary{color:#e1d2ff;background:#9770e726;border-color:#c4a8ff2b;box-shadow:inset 0 1px #ffffff0e}.more-menu summary{justify-content:center;min-width:88px;list-style:none}.more-menu .navigation-link span.more-menu-dots{letter-spacing:.12em;font-size:.77rem;line-height:1;display:inline-block}.more-menu-popover{width:190px;box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(18px);background:#181731f5;border-color:#c4b1ff33;border-radius:17px;gap:4px;padding:7px}.more-menu-popover .navigation-link{border-radius:11px;justify-content:flex-start;min-height:44px}.header-status{color:#b9b4ce;gap:8px;font-size:.78rem;font-weight:560}.header-status:before{background:#a58adb;box-shadow:0 0 0 4px #a978f21f}.header-status.is-offline:before{background:#f2a174;box-shadow:0 0 0 4px #f2a1741f}.page-frame{width:min(calc(100% - clamp(40px, 4vw, 56px) - env(safe-area-inset-left) - env(safe-area-inset-right)), 1600px);min-height:calc(100vh - 132px);padding-top:clamp(22px,2.2vw,32px);padding-bottom:calc(34px + env(safe-area-inset-bottom))}.foundation-page,.practice-page,.rewards-page,.archive-page,.studio-page{max-width:1040px;margin-inline:auto}.home-page{max-width:1600px}.home-page>.eyebrow{color:var(--purple-light);letter-spacing:.13em;font-size:.69rem}.home-page>h1{letter-spacing:-.045em;max-width:920px;margin:5px 0;font-size:clamp(2rem,2.55vw,2.28rem);font-weight:740;line-height:1.1}.home-page>.page-description{max-width:680px;font-size:clamp(.95rem,1.15vw,1.04rem);line-height:1.5}.resume-activity-card{background:radial-gradient(at 87% 0,#e0ceff21,#0000 52%),linear-gradient(112deg,#614094,#3e2b68 60%,#302352);border-color:#e4d7ff33;border-radius:24px;align-items:center;gap:16px;width:100%;max-width:none;min-height:96px;margin:18px 0 0;padding:15px 18px;transition:transform .16s,border-color .18s,box-shadow .18s;position:relative;box-shadow:inset 0 1px #ffffff17,0 12px 30px #16093047}.resume-icon{color:#f6efff;background:#ffffff21;border:1px solid #ffffff1c;border-radius:18px;width:60px;height:60px;font-size:1.7rem;box-shadow:inset 0 1px #ffffff14}.resume-copy{flex:auto;gap:3px;min-width:0;display:grid}.resume-eyebrow{color:#f9f6ffbd;letter-spacing:.13em;font-size:.65rem}.resume-activity-card strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.2rem,1.7vw,1.45rem);font-weight:720;overflow:hidden}.resume-copy>span:last-child{color:#f7f5ffc7;font-size:.79rem}.resume-play{color:#352252;background:var(--gold-primary);border:1px solid #ffedb79e;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;padding-left:2px;font-size:1rem;display:grid;box-shadow:0 5px 14px #0d071f38,inset 0 1px #ffffff70}.home-activities{margin-top:clamp(20px,2.1vw,28px)}.home-activities .section-heading-row{align-items:end;margin-bottom:13px}.home-activities .section-heading-row .eyebrow{color:var(--purple-light);letter-spacing:.13em;font-size:.65rem}.home-activities .section-heading-row .section-title{letter-spacing:-.035em;margin-top:3px;font-size:clamp(1.35rem,1.8vw,1.65rem);font-weight:710}.home-activity-count{color:#a9a4c0;margin:0;font-size:.74rem;line-height:1.35}.home-section-kicker{align-items:center;gap:9px;display:flex}.home-activities .text-link{color:#d9c8ff;border-radius:12px;align-items:center;min-height:44px;padding:0 10px;font-size:.86rem;transition:background-color .16s;display:inline-flex}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:17px}.activity-card-shell{border-radius:24px;min-width:0}.activity-card{height:clamp(236px,20vw,278px);min-height:0;color:var(--text-primary);background:linear-gradient(145deg,#1d1c3afa,#12122afa);border:1px solid #c4b1ff2b;border-radius:24px;grid-template-rows:minmax(0,1fr) 106px;align-items:stretch;gap:0;padding:0;text-decoration:none;transition:transform .16s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,0 8px 26px #00000030}.activity-symbol{flex:initial;width:100%;height:100%;min-height:0;color:var(--purple-light);background:radial-gradient(ellipse at 50% 0%, #a978f226, transparent 74%), var(--surface-2);border:0;border-radius:0;place-items:center;font-size:2.15rem;display:grid;position:relative;overflow:hidden}.activity-symbol img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.activity-symbol .object-url-image{opacity:0;transition:opacity .14s}.activity-symbol .object-url-image.is-loaded{opacity:1}.activity-focus-badge{z-index:1;color:#fff9e7;-webkit-backdrop-filter:blur(12px);background:#0a091ba3;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.72rem;font-weight:650;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 3px 12px #0000002b}.activity-focus-badge>span{color:var(--gold-primary)}.activity-image-edit{-webkit-backdrop-filter:blur(12px);opacity:.96;background:#0c0b1f80;border-color:#ffffff7a;border-radius:50%;width:44px;height:44px;top:11px;left:auto;right:11px;box-shadow:0 3px 12px #0003}.activity-image-edit svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px;height:19px}.activity-image-edit:hover,.activity-image-edit:focus-visible{background:#13102cc7;border-color:#e3d2ff}.activity-image-actions{width:min(200px,100% - 22px);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(18px);background:#181731f5;border-color:#c4b1ff33;border-radius:15px;gap:3px;padding:6px;top:62px;left:auto;right:11px}.activity-image-actions button{min-height:44px;color:var(--text-primary);border-radius:10px;font-size:.84rem}.activity-image-actions button:hover,.activity-image-actions button:focus-visible{background:#c4a8ff1f}.activity-card-copy{background:linear-gradient(135deg,#1e1d3bfc,#13132bfc);flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:11px 15px 12px;display:flex}.activity-card-heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.activity-card-copy strong{color:#f7f5ff;min-width:0;font-family:var(--font-display);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.04rem,1.28vw,1.18rem);font-weight:720;overflow:hidden}.activity-points{color:var(--gold-primary);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:5px;font-size:.85rem;font-weight:680;display:inline-flex}.activity-points>span:first-child{font-size:1.03rem}.activity-card-goals{color:#bdb8d3;text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;line-height:1.2;overflow:hidden}.activity-progress-row{align-items:center;gap:8px;min-width:0;margin-top:3px;display:flex}.activity-progress-track{background:#c4b1ff24;border-radius:999px;flex:auto;min-width:0;height:6px;display:block;overflow:hidden}.activity-progress-track>span{border-radius:inherit;background:linear-gradient(90deg,#8059ce,#b695ff);height:100%;transition:width .36s cubic-bezier(.22,1,.36,1);display:block;box-shadow:0 0 9px #a978f240}.activity-progress-count{color:#d4cce9;font-variant-numeric:tabular-nums;flex:none;font-size:.73rem}.activity-chevron{color:#d4c4ff;flex:none;font-size:.92rem;line-height:1}.empty-state{background:#1d1c3a94;border-color:#c4b1ff2e;border-radius:22px}.image-preview-dialog{box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(22px);background:#15152df7;border-color:#c4b1ff38;border-radius:24px}.image-preview-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040410bd}.image-preview-dialog h2{color:var(--text-primary);letter-spacing:-.025em;margin:7px 0 16px;font-size:clamp(1.2rem,2vw,1.55rem)}.image-preview-frame{background:var(--surface-2);border:1px solid #c4b1ff26;border-radius:17px;min-height:180px}.image-preview-frame .object-url-image{opacity:0;transition:opacity .14s}.image-preview-frame .object-url-image.is-loaded{opacity:1}.app-footer{padding-right:calc(clamp(20px, 2vw, 30px) + env(safe-area-inset-right));padding-bottom:calc(22px + env(safe-area-inset-bottom));padding-left:calc(clamp(20px, 2vw, 30px) + env(safe-area-inset-left));color:#928ca9;border-top-color:#c4b1ff1a}@media (width>=761px){.primary-navigation{display:flex}.compact-navigation{display:none}}@media (width<=1100px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=761px) and (height<=900px){.page-frame{padding-top:18px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.resume-activity-card{min-height:90px;margin-top:14px;padding-block:13px}.resume-icon{width:54px;height:54px}.resume-play{width:48px;height:48px}.home-activities{margin-top:18px}.home-activities .section-heading-row{margin-bottom:10px}.activity-card{grid-template-rows:minmax(0,1fr) 100px;height:230px}}@media (width<=760px){.app-header{min-height:calc(64px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}.page-frame{width:min(calc(100% - 36px - env(safe-area-inset-left) - env(safe-area-inset-right)), 660px);padding-top:28px;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.home-page>h1{font-size:clamp(1.85rem,7.2vw,2.15rem)}.resume-activity-card{border-radius:21px;gap:12px;min-height:88px;margin-top:16px;padding:13px}.resume-icon{border-radius:15px;width:50px;height:50px;font-size:1.45rem}.resume-play{width:44px;height:44px;font-size:.9rem}.home-activities .section-heading-row{align-items:center}.activity-grid{grid-template-columns:minmax(0,1fr);gap:13px}.activity-card{grid-template-rows:124px minmax(0,1fr);height:230px}.activity-card-copy{padding:11px 14px}.compact-navigation{padding-bottom:max(6px, env(safe-area-inset-bottom))}.update-notice{right:max(16px, env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom))}}@media (width<=390px){.home-activities .section-heading-row .section-title{font-size:1.25rem}.home-activities .text-link{padding-inline:6px;font-size:.78rem}.activity-focus-badge{min-height:28px;padding-inline:8px;font-size:.68rem;top:9px;left:9px}.activity-image-edit{top:8px;right:8px}}@media (hover:hover) and (pointer:fine){.navigation-link:hover:not(.is-active),.more-menu[open]>summary{color:#f7f5ff;background:#c4a8ff17}.more-menu-popover .navigation-link:hover{background:#c4a8ff1f}.resume-activity-card:hover{border-color:#e6d7ff59;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1c,0 16px 34px #16093054}.activity-card:hover{border-color:#c4a8ff5c;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0f,0 12px 32px #00000040}.activity-card:hover .activity-symbol img{transform:scale(1.015)}.home-activities .text-link:hover{background:#c4a8ff17}}.activity-card:active,.resume-activity-card:active{transform:scale(.985)}@media (prefers-reduced-motion:reduce){.activity-progress-track>span,.activity-symbol img,.object-url-image{transition:none}}
