page{background:#e9fbff}taro-button-core{border:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:0;margin:0;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}taro-button-core::after{border:0}taro-button-core:active{transform:scale(.98)}.page{background:linear-gradient(180deg,#e9fbff,#f6fff7 45%,#fff4d6);box-sizing:border-box;color:#073b4c;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif;min-height:100vh;padding:.95rem .7rem 1.6rem}.action-card,.field-card,.history-row,.page-hero,.panel,.stat-card,.subpackage-loader{background:hsla(0,0%,100%,.92);border:.025rem solid rgba(7,59,76,.12);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);box-sizing:border-box}.page-hero{background:linear-gradient(135deg,hsla(0,0%,100%,.94),rgba(233,251,255,.86) 54%,rgba(255,244,214,.82));border-radius:.4rem;display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;padding:.95rem .75rem}.eyebrow{align-self:flex-start;background:rgba(7,152,178,.12);border-radius:24.975rem;color:#056271;display:inline-flex;font-size:.5rem;font-weight:800;line-height:1.25;padding:.225rem .45rem}.title{color:#073b4c;display:block;font-size:.9rem;font-weight:900;line-height:1.24}.page-hero .title{color:#073b4c;font-size:1.05rem;line-height:1.18}.page-hero .muted{color:#52727d}.section-title{color:#073b4c;display:block;font-size:.675rem;font-weight:900;line-height:1.35;margin:.5rem 0 .35rem}.muted,.paragraph{color:#52727d;display:block;font-size:.6rem;line-height:1.5}.paragraph{margin:.25rem 0;white-space:pre-wrap}.label{color:#52727d;display:block;font-size:.55rem;font-weight:800;line-height:1.35}.value{color:#073b4c;display:block;font-size:.675rem;font-weight:900;line-height:1.35}.error,.pending-upload-banner{border-radius:.45rem;display:block;font-size:.6rem;font-weight:700;line-height:1.45;margin:.4rem 0;padding:.45rem .5rem}.error{background:rgba(255,235,229,.92);border:.025rem solid rgba(194,65,45,.2);color:#c2412d}.pending-upload-banner{background:rgba(255,249,230,.94);border:.025rem solid rgba(255,184,77,.36);color:#8a4f05}.loading-text{background:hsla(0,0%,100%,.96);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);color:#164e63;display:block;margin-top:.6rem;padding:.65rem}.empty-state,.state-card{background:hsla(0,0%,100%,.96);border:.025rem solid rgba(7,152,178,.14);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);box-sizing:border-box;color:#073b4c;display:flex;flex-direction:column;gap:.25rem;margin:.55rem 0;padding:.7rem}.empty-state .muted,.state-card .muted{color:#164e63}.action-card,.field-card,.history-row,.panel{display:flex;flex-direction:column;gap:.4rem;margin:.55rem 0;padding:.7rem}.row{align-items:center;display:flex;gap:.45rem;justify-content:space-between}.row > taro-view-core{min-width:0}.stat-grid{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:.6rem 0}.stat-card{background:linear-gradient(145deg,hsla(0,0%,100%,.92),rgba(234,251,240,.9));display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-height:3.75rem;padding:.65rem .55rem}.stat-grid .stat-card:first-child{background:linear-gradient(145deg,hsla(0,0%,100%,.94),rgba(233,251,255,.88))}.stat-grid .stat-card:nth-child(2){background:linear-gradient(135deg,#fff8df,#eafbf0)}.profile-panel{background:linear-gradient(145deg,hsla(0,0%,100%,.94),rgba(233,251,255,.86));gap:.25rem;padding:.75rem}.profile-name{font-size:.95rem;line-height:1.22}.project-name{color:#164e63}.action-stack,.button-row{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.55rem}.action-stack .full-button,.full-button{grid-column:1/-1}.danger-button,.primary-button,.secondary-button{align-items:center;border-radius:24.975rem;box-sizing:border-box;display:flex;font-size:.675rem;font-weight:900;justify-content:center;line-height:1.25;min-height:2.35rem}.primary-button{background:linear-gradient(135deg,#11a36a,#0798b2);box-shadow:0 .2rem .35rem rgba(17,163,106,.18);color:#fff}.secondary-button{background:hsla(0,0%,100%,.96);border:0;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);color:#073b4c}.danger-button{background:rgba(255,235,229,.94);color:#c2412d}.danger-button[disabled],.primary-button[disabled],.secondary-button[disabled]{box-shadow:none;opacity:.58;transform:none}.compact-button{font-size:.6rem;min-height:1.8rem;padding:0 .45rem}.input{background:hsla(0,0%,100%,.9);border:.05rem solid rgba(7,152,178,.18);border-radius:.4rem;box-sizing:border-box;color:#073b4c;font-size:.675rem;font-weight:700;min-height:2.35rem;padding:0 .55rem}.input:focus{border-color:rgba(7,152,178,.42);box-shadow:0 0 0 .125rem rgba(7,152,178,.18)}.form-stack{display:flex;flex-direction:column;gap:.05rem}.picker-value{align-items:center;color:#0798b2;display:flex;min-height:1.8rem}.code-input-wrap{margin:.55rem 0 .2rem;position:relative}.code-input{background:transparent;color:transparent;height:.025rem;left:0;min-height:.025rem;opacity:0;pointer-events:none;position:absolute;top:0;width:.025rem;z-index:2}.code-slots{display:grid;gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.code-slot{align-items:center;background:hsla(0,0%,100%,.92);border:.05rem solid rgba(7,152,178,.22);border-radius:.4rem;display:flex;justify-content:center;min-height:3.05rem}.code-slot.filled{background:rgba(234,251,240,.98);border-color:#11a36a;box-shadow:0 .15rem .3rem rgba(17,163,106,.12)}.code-slot.filled .code-slot-text{color:#073b4c}.code-slot-text{color:#073b4c;font-size:1.1rem;font-weight:900;line-height:1}.pill{border-radius:24.975rem;display:inline-flex;flex:0 0 auto;font-size:.55rem;font-weight:900;line-height:1.2;padding:.25rem .45rem}.pill-game{background:rgba(7,152,178,.12);color:#056271}.pill-training{background:rgba(17,163,106,.12);color:#087148}.action-card-header{align-items:flex-start;border-bottom:.025rem solid rgba(7,59,76,.12);padding-bottom:.45rem}.action-title{font-size:.8rem;margin-bottom:.1rem}.prescription-action-card{background:linear-gradient(145deg,hsla(0,0%,100%,.94),rgba(233,251,255,.82))}.action-progress{display:flex;flex-direction:column;gap:.25rem}.subpackage-loader{background:linear-gradient(145deg,hsla(0,0%,100%,.94),rgba(255,244,214,.82));border-radius:.45rem;display:flex;flex-direction:column;gap:.4rem;margin:.45rem 0;padding:.55rem}.progress-track{background:rgba(7,59,76,.1);border-radius:24.975rem;height:.45rem;overflow:hidden;width:100%}.mini-progress-track{height:.35rem}.progress-fill{background:linear-gradient(90deg,#ffb84d,#11a36a);border-radius:24.975rem;height:100%}.history-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.45rem}.history-row{margin:0;padding-left:.75rem;position:relative}.history-row::before{background:#0798b2;border-radius:50%;content:"";height:.25rem;left:.35rem;position:absolute;top:.75rem;width:.25rem}.game-session-page{background:linear-gradient(180deg,#e5fbff,#fff4d6 54%,#eafbf0);color:#073b4c}.game-session-page.game-play-page{padding-bottom:4.75rem}.game-session-page.game-setup-page{display:flex;flex-direction:column;justify-content:center;min-height:100vh}.game-session-page .game-hero{background:linear-gradient(145deg,hsla(0,0%,100%,.94),rgba(255,244,214,.84));border:.025rem solid rgba(7,59,76,.12);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem;padding:.75rem}.game-session-page .game-hero .title{color:#073b4c;font-size:.9rem;line-height:1.22}.game-session-page.game-setup-page .game-hero{align-items:center;text-align:center}.game-session-page.game-setup-page .game-hero .title{font-size:1.05rem;line-height:1.18}.game-session-page .game-hero .muted,.game-session-page .game-hero .paragraph{color:#52727d;font-size:.575rem;line-height:1.5}.game-session-page .intro-hero{align-items:center;justify-content:center;min-height:56vh;text-align:center}.game-session-page.game-intro-page{display:flex;flex-direction:column;justify-content:center;min-height:100vh}.game-session-page.game-intro-page .intro-hero{margin-bottom:.7rem}.game-session-page.game-intro-page .intro-hero .title{font-size:1.15rem;line-height:1.18}.game-session-page.game-intro-page > .muted{color:#164e63;font-size:.55rem;line-height:1.45;text-align:center}.game-session-page .game-topbar{margin-bottom:.7rem}.game-session-page .game-timer-strip{align-items:center;background:hsla(0,0%,100%,.9);border:.025rem solid rgba(7,152,178,.16);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);box-sizing:border-box;display:flex;flex-direction:column;gap:.1rem;justify-content:center;margin:0 auto;max-width:100%;min-width:8rem;padding:.45rem .75rem;width:9rem}.game-session-page .game-timer-label{color:#52727d;display:block;font-size:.525rem;font-weight:800;line-height:1.25}.game-session-page .game-timer-value{color:#073b4c;display:block;font-size:1.45rem;font-weight:900;line-height:1.06}.game-session-page .game-control-bar{background:hsla(0,0%,100%,.96);border:.025rem solid rgba(7,59,76,.12);border-radius:.4rem;bottom:calc(.6rem + env(safe-area-inset-bottom));box-shadow:0 .15rem .35rem rgba(7,59,76,.08);box-sizing:border-box;display:grid;gap:.35rem;grid-template-columns:repeat(3,minmax(0,1fr));left:.7rem;padding:.35rem;position:fixed;right:.7rem;z-index:20}.game-session-page .game-control-bar .compact-button{font-size:.6rem;min-height:2.05rem;padding:0 .3rem}.game-session-page .countdown-text{color:#9a5400;display:block;font-size:1.1rem;font-weight:900;line-height:1.28;margin-top:.45rem;max-width:100%}.game-session-page .game-task-title{color:#073b4c;font-size:.9rem;line-height:1.22;margin:.3rem 0 .55rem}.game-session-page .inhibition-task-title{font-size:1.1rem;line-height:1.18}.game-session-page .sequence-preview{display:grid;gap:.3rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:.3rem 0 .55rem}.game-session-page .sequence-chip{align-items:center;border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);color:#fff;display:flex;font-size:.65rem;font-weight:900;justify-content:center;min-height:1.9rem}.game-session-page .hidden-chip{background:hsla(0,0%,100%,.76);border:.05rem dashed rgba(7,152,178,.48);box-shadow:none;color:#073b4c}.game-session-page .category-options,.game-session-page .color-grid,.game-session-page .pattern-grid,.game-session-page .sound-card-grid{display:grid;gap:.4rem;grid-template-columns:repeat(2,minmax(0,1fr))}.game-session-page .number-grid{display:grid;gap:.45rem;grid-template-columns:repeat(3,minmax(0,1fr))}.game-session-page .category-option,.game-session-page .color-tile,.game-session-page .image-tile,.game-session-page .number-tile,.game-session-page .puzzle-tile,.game-session-page .sound-card{align-items:center;background:hsla(0,0%,100%,.88);border:.05rem solid rgba(7,152,178,.18);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);box-sizing:border-box;color:#073b4c;display:flex;font-size:.675rem;font-weight:900;justify-content:center;line-height:1.25;min-height:3.7rem}.game-session-page .color-tile{color:#fff;font-size:.8rem}.game-session-page .color-blue{background:linear-gradient(135deg,#2f80ed,#0798b2)}.game-session-page .color-green{background:linear-gradient(135deg,#11a36a,#50c878)}.game-session-page .color-yellow{background:linear-gradient(135deg,#ffd166,#ffb84d);color:#073b4c}.game-session-page .color-red{background:linear-gradient(135deg,#ff6b5a,#ff8a4c)}.game-session-page .color-teal{background:linear-gradient(135deg,#00796b,#0798b2)}.game-session-page .number-tile{font-size:1.95rem;line-height:1;min-height:4.3rem}.game-session-page .category-image,.game-session-page .game-image{display:block;height:3.05rem;width:3.05rem}.game-session-page .game-card-face,.game-session-page .sound-card-face{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-height:100%;text-align:center;width:100%}.game-session-page .game-card-image{flex:0 0 auto}.game-session-page .game-card-label{color:#073b4c;display:block;font-size:.625rem;font-weight:900;line-height:1.25;text-align:center;width:100%}.game-session-page .game-card-pressed{transform:rotateY(8deg) scale(.97)}.game-session-page .image-tile{padding:.45rem .3rem;transform-style:preserve-3d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.game-session-page .image-sequence-chip{flex-direction:column;gap:.2rem}.game-session-page .image-sequence-chip{align-items:center;background:hsla(0,0%,100%,.88);border-radius:.35rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);color:#073b4c;display:flex;font-size:.55rem;font-weight:800;justify-content:center;min-height:3.15rem;padding:.3rem;text-align:center}.game-session-page .category-card{align-items:center;display:flex;flex-direction:column;gap:.3rem;justify-content:center;margin:.4rem 0 .55rem;min-height:6.5rem;padding:.8rem}.game-session-page .category-label{color:#073b4c;font-size:.8rem;font-weight:900}.game-session-page .sound-card{min-height:4.4rem;padding:.45rem .3rem;perspective:20rem;transform-style:preserve-3d;transition:transform .18s ease}.game-session-page .sound-card.revealed{animation:card-flip-in .26s ease-out;background:rgba(234,251,240,.96);border-color:rgba(17,163,106,.42);box-shadow:0 .15rem .35rem rgba(17,163,106,.12)}.game-session-page .sound-card.previewing{border-color:rgba(255,184,77,.78);box-shadow:0 0 0 .15rem rgba(255,184,77,.2),0 .15rem .35rem rgba(7,59,76,.08);transform:scale(1.02)}.game-session-page .sound-card.revealed .sound-card-face{animation:card-face-pop .26s ease-out}.game-session-page .replay-button{margin:0 0 .45rem}.game-session-page .card-back{color:#0798b2;font-size:1.35rem;font-weight:900;line-height:1}.game-session-page .puzzle-preview-board{background:hsla(0,0%,100%,.84);border:.05rem solid rgba(7,152,178,.16);border-radius:.4rem;box-shadow:0 .15rem .35rem rgba(7,59,76,.08);overflow:hidden;padding:0 0 100%;position:relative;width:100%}.game-session-page .puzzle-preview-image{height:100%;inset:0;position:absolute;width:100%}.game-session-page .puzzle-grid{display:grid;gap:.25rem}.game-session-page .puzzle-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.game-session-page .puzzle-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.game-session-page .puzzle-tile{line-height:1;min-height:0;overflow:hidden;padding:0 0 100%;position:relative;transition:transform .18s ease,box-shadow .18s ease}.game-session-page .puzzle-tile.selected{background:rgba(255,244,214,.96);border-color:#ff6b5a;box-shadow:0 0 0 .15rem rgba(255,107,90,.16)}.game-session-page .puzzle-tile-slice{height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.game-session-page .puzzle-tile-image{max-height:none;max-width:none;position:absolute}.game-session-page .game-feedback{background:rgba(234,251,240,.96);border-radius:24.975rem;box-shadow:0 .15rem .35rem rgba(17,163,106,.12);color:#087148;display:block;font-size:.75rem;font-weight:900;margin-top:.5rem;padding:.45rem .55rem;text-align:center}.game-session-page .result-metrics,.game-session-page .result-panel{gap:.4rem}@media (prefers-reduced-motion:reduce){.camera-countdown-number,.camera-finalizing-spinner,.image-tile,.puzzle-tile,.sound-card,.sound-card.revealed,.sound-card.revealed .sound-card-face,taro-button-core{animation:none;transition:none}}.recording-dot{background:#aab8bd;border-radius:50%;height:.35rem;width:.35rem}.camera-status.recording .recording-dot{background:#ff4d4f}.follow-video-section{margin:.7rem 0 .85rem}.follow-video{aspect-ratio:16/9;background:#102a33;border-radius:.2rem;width:100%}.shoulder-instruction-section{margin:.3rem 0 .75rem}.preparation-row{align-items:center;border-bottom:.025rem solid rgba(7,59,76,.12);display:flex;gap:.45rem;min-height:2rem}.preparation-mark{align-items:center;background:#0798b2;border-radius:50%;color:#fff;display:flex;flex:0 0 1.15rem;font-size:.55rem;font-weight:900;height:1.15rem;justify-content:center;width:1.15rem}.preparation-row .paragraph{color:#164e63}.shoulder-action-instruction{background:rgba(7,152,178,.08);border-radius:.3rem;color:#073b4c;display:block;font-size:.6rem;line-height:1.55;margin-top:.6rem;padding:.55rem;white-space:pre-wrap}.shoulder-guide-start{margin-top:.75rem;width:100%}.training-camera-page{background:#000;color:#fff;inset:0;overflow:hidden;position:fixed}.training-camera-fullscreen{height:100%;inset:0;position:absolute;width:100%}.camera-permission-fullscreen{align-items:center;background:#102a33;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:.5rem;inset:0;justify-content:center;padding:1.2rem;position:absolute;text-align:center}.camera-permission-title{font-size:.9rem;font-weight:900}.camera-permission-copy{color:#d7e8ec;font-size:.6rem;line-height:1.5}.camera-permission-button{background:#fff;border-radius:24.975rem;color:#073b4c;font-size:.65rem;font-weight:900;margin-top:.4rem;min-height:2.15rem;min-width:6.5rem}.camera-top-controls{align-items:center;background:rgba(0,0,0,.5);display:grid;gap:.3rem;grid-template-columns:2.9rem minmax(0,1fr) 2.9rem;left:0;padding:calc(env(safe-area-inset-top) + .45rem) .6rem .55rem;position:absolute;right:0;top:0;z-index:3}.camera-icon-button{align-items:center;background:hsla(0,0%,100%,.14);border-radius:.25rem;color:#fff;display:flex;flex-direction:column;gap:.05rem;height:2.05rem;justify-content:center;padding:0;width:2.9rem}.camera-icon-button[disabled]{opacity:.4}.camera-control-icon{font-size:.9rem;font-weight:700;line-height:1}.camera-control-label{font-size:.45rem;font-weight:800;line-height:1.2}.camera-control-spacer{height:2.05rem;width:2.9rem}.camera-status{align-items:center;display:flex;font-size:.6rem;font-weight:900;gap:.25rem;justify-content:center;min-width:0}.camera-countdown{align-items:center;background:rgba(0,0,0,.46);display:flex;flex-direction:column;gap:.45rem;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:4}.camera-finalizing{align-items:center;background:rgba(0,0,0,.72);box-sizing:border-box;display:flex;flex-direction:column;gap:.45rem;inset:0;justify-content:center;padding:1rem;position:absolute;text-align:center;z-index:6}.camera-finalizing-spinner{animation:camera-spinner-rotate .8s linear infinite;border:.2rem solid hsla(0,0%,100%,.28);border-radius:50%;border-top-color:#fff;height:1.75rem;margin-bottom:.3rem;width:1.75rem}.camera-finalizing-title{color:#fff;font-size:.9rem;font-weight:900}.camera-finalizing-copy{color:#d7e8ec;font-size:.575rem;line-height:1.5}.camera-countdown-number{animation:camera-countdown-pulse .72s ease-out;font-size:4.5rem;font-weight:900;line-height:1;text-shadow:0 .1rem .2rem rgba(0,0,0,.34)}.camera-countdown-label{font-size:.75rem;font-weight:900}.camera-error{background:rgba(151,38,25,.9);border-radius:.25rem;bottom:calc(env(safe-area-inset-bottom) + 6.25rem);color:#fff;display:block;font-size:.55rem;font-weight:800;left:.7rem;line-height:1.4;padding:.4rem .5rem;position:absolute;right:.7rem;text-align:center;z-index:5}.camera-bottom-controls{align-items:center;background:rgba(0,0,0,.56);bottom:0;display:flex;flex-direction:column;gap:.45rem;left:0;padding:.6rem .7rem calc(env(safe-area-inset-bottom) + .75rem);position:absolute;right:0;z-index:3}.camera-guidance{color:#fff;font-size:.55rem;font-weight:700;text-align:center}.camera-start-button,.camera-stop-button{align-items:center;border-radius:24.975rem;color:#fff;display:flex;font-size:.7rem;font-weight:900;justify-content:center;min-height:2.4rem;width:9rem}.camera-start-button{background:#11a36a}.camera-stop-button{background:#d63b2f}.camera-start-button[disabled],.camera-stop-button[disabled]{opacity:.56}@keyframes camera-countdown-pulse{0%{opacity:.4;transform:scale(1.28)}100%{opacity:1;transform:scale(1)}}@keyframes camera-spinner-rotate{to{transform:rotate(1turn)}}.shoulder-upload-page{display:flex;flex-direction:column}.upload-progress-summary{align-items:center;display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 .95rem}.upload-progress-value{color:#0798b2;font-size:1.8rem;font-weight:900;line-height:1}.upload-steps{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.7rem}.upload-step{align-items:center;display:flex;gap:.45rem}.upload-step-mark{align-items:center;background:#e7f0f2;border-radius:50%;color:#52727d;display:flex;flex:0 0 1.2rem;font-size:.55rem;font-weight:900;height:1.2rem;justify-content:center;width:1.2rem}.upload-step-mark.complete{background:#11a36a;color:#fff}.upload-step-mark.active{background:#0798b2;color:#fff}.shoulder-complete-page{align-items:center;justify-content:center;min-height:100vh;text-align:center}.training-complete-mark{align-items:center;background:#11a36a;border-radius:50%;color:#fff;display:flex;font-size:1.75rem;font-weight:900;height:3.25rem;justify-content:center;width:3.25rem}.training-complete-title{color:#073b4c;font-size:1.1rem;font-weight:900;margin-top:.75rem}.training-complete-copy{color:#164e63;font-size:.625rem;line-height:1.5;margin-top:.35rem}.training-complete-summary{border-bottom:.025rem solid rgba(7,59,76,.12);border-top:.025rem solid rgba(7,59,76,.12);margin-top:1.05rem;padding:.65rem 0;width:100%}.training-complete-button{margin-top:1.05rem;width:100%}@keyframes card-flip-in{0%{opacity:.62;transform:rotateY(88deg) scale(.96)}100%{opacity:1;transform:rotateY(0deg) scale(1)}}@keyframes card-face-pop{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}