/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.z-0{z-index:0}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.block\!{display:block!important}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--navy:#123a5a;--blue:#0d7896;--teal:#0f93a8;--mint:#e6f7f4;--coral:#ff765f;--yellow:#ffc857;--cream:#fffaf0;--wood:#e6b35d}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--navy);background:#f4fbfa;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.primary{color:#fff;background:linear-gradient(135deg,#ff7a64,#f25355);border:0;border-radius:14px;padding:13px 22px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 9px 22px #f2555535}.primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px #f2555545}.primary.big{padding:16px 26px;font-size:17px}.eyebrow{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;margin:0 0 9px;font-size:12px;font-weight:900}.topbar{justify-content:space-between;align-items:center;max-width:1240px;height:74px;margin:auto;padding:0 24px;display:flex}.topbar.compact{max-width:1050px}.brand{background:0 0;border:0;align-items:center;gap:10px;font-size:20px;font-weight:900;display:flex}.brand>span{background:#ffd567;border:4px solid #fff0a7;border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;display:grid}.top-actions{align-items:center;gap:10px;display:flex}.icon-button,.admin-link,.exit{background:#ffffffbd;border:1px solid #cfe5e3;border-radius:999px;padding:9px 14px;font-weight:700}.gate{background-image:linear-gradient(90deg,#073c59cc 0,#075b6e8c 38%,#064b5b20 72%),url(/hero-octonauts-island.png);background-position:50%;background-size:cover;place-items:center start;min-height:100vh;padding:7vw;display:grid;position:relative;overflow:hidden}.gate:before{content:"";pointer-events:none;background:linear-gradient(#052f3d12,#042b3d4d);position:absolute;inset:0}.gate-card{text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border:1px solid #ffffffb8;border-radius:30px;width:min(450px,100%);padding:38px 42px 30px;position:relative;box-shadow:0 30px 80px #042f4b73}.gate-card h1{letter-spacing:-.06em;margin:3px 0 10px;font-size:clamp(34px,8vw,48px)}.gate-card>p:not(.eyebrow,.error,.tiny){color:#668092;line-height:1.7}.gate-logo{color:#fff;background:linear-gradient(145deg,#2eb39b,#0c7e89);border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 13px;font-size:34px;display:grid;box-shadow:0 13px 30px #168c8050}.mascot-cluster{justify-content:center;align-items:end;gap:5px;height:82px;font-size:55px;display:flex}.mascot-cluster .character-portrait{border-radius:18px;width:62px;height:76px}.mascot-cluster span:nth-child(2){align-self:center;font-size:20px}.password-field{background:#f4fbfa;border:2px solid #cde9e6;border-radius:15px;align-items:center;gap:10px;margin:22px 0 12px;padding:0 15px;display:flex}.password-field input{background:0 0;border:0;outline:0;width:100%;padding:15px 0;font-size:17px}.gate-card .primary{width:100%;margin-top:10px}.error{color:#dc4f55;margin:4px;font-weight:700}.tiny{color:#9aabb5;margin:16px 0 0;font-size:12px}.bubble{border:3px solid #ffffff31;border-radius:50%;position:absolute}.bubble-a{width:90px;height:90px;top:13%;left:12%}.bubble-b{width:38px;height:38px;bottom:17%;right:18%}.home{background:linear-gradient(#f2fbfa 0 67%,#fff 67%);min-height:100vh}.hero{background-image:linear-gradient(90deg, #05677fe8 0%, #087b91c9 39%, #087b9160 61%, transparent 78%), var(--hero-image);color:#fff;background-position:50%;background-size:cover;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;min-height:500px;padding:45px max(24px,50vw - 580px);transition:background-image .35s;display:grid;position:relative;overflow:hidden}.hero:after{content:"";border:70px solid #ffffff0c;border-radius:50%;width:600px;height:600px;position:absolute;top:-330px;right:-230px}.eyebrow.light{color:#c9ffec}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(45px,6vw,72px);line-height:1.08}.hero h1 em{color:#ffd06b;font-style:normal}.hero-sub{color:#d8f3f2;max-width:530px;font-size:17px;line-height:1.8}.hero-button{min-width:170px;margin-top:13px}.hero-characters{z-index:2;width:min(430px,42vw);height:340px;margin:auto;position:relative}.hero-character{text-align:center;width:122px;color:var(--navy);background:#fffffff0;border:3px solid #fff;border-radius:27px;padding:8px 8px 10px;position:absolute;transform:rotate(-5deg);box-shadow:0 18px 35px #06465c4d}.hero-character .character-portrait{border-radius:20px;height:118px}.hero-character strong{margin-top:7px;font-size:13px;display:block}.hero-character-0{bottom:3%;left:3%}.hero-character-1{top:1%;left:36%;transform:rotate(4deg)}.hero-character-2{bottom:8%;right:0;transform:rotate(7deg)}.mini-board{background-color:#e5ae54;background-image:linear-gradient(#5d411f66 1px,#0000 1px),linear-gradient(90deg,#5d411f66 1px,#0000 1px);background-size:20% 20%;border:15px solid #8b542b;border-radius:24px;grid-template-columns:repeat(5,1fr);padding:10%;display:grid;position:absolute;inset:9%;box-shadow:0 30px 45px #063f5360}.mini-board i{position:relative}.mini-board i.black:after,.mini-board i.white:after{content:"";border-radius:50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 7px #0005}.mini-board i.black:after{background:#14212a}.mini-board i.white:after{background:#fff}.hero-mascot{filter:drop-shadow(0 12px 8px #0641515f);font-size:74px;position:absolute}.mascot-left{bottom:0;left:-12%;transform:rotate(-4deg)}.mascot-right{top:1%;right:-5%}.mode-cards{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1160px;margin:-32px auto 0;padding:0 24px 55px;display:grid;position:relative}.mode-cards article{background:#fff;border:1px solid #e3f0ef;border-radius:20px;grid-template-columns:auto 1fr;gap:16px;padding:25px;display:grid;box-shadow:0 10px 35px #1a5b6a14}.mode-cards h2{margin:0 0 7px;font-size:20px}.mode-cards p{color:#718695;margin:0;font-size:13px;line-height:1.6}.mode-cards b{color:var(--teal);background:var(--mint);border-radius:99px;grid-column:2;justify-self:start;padding:5px 9px;font-size:11px}.card-icon{border-radius:15px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.card-icon.coral{background:#fff0ed}.card-icon.blue{background:#e5f5fb}.card-icon.yellow{background:#fff5d8}.setup-page{background:linear-gradient(#eaf8f5,#f8fbf8);min-height:100vh;padding-bottom:50px}.setup-card{background:#fff;border-radius:28px;max-width:980px;margin:18px auto;padding:35px 40px 40px;box-shadow:0 18px 55px #155f6b12}.setup-title{text-align:center}.setup-title h1{margin:0;font-size:35px}.setup-title>p:last-child{color:#80919d}.setup-grid{grid-template-columns:1fr 1fr;gap:24px 30px;margin-top:28px;display:grid}fieldset{border:0;min-width:0;padding:0}legend{margin-bottom:12px;font-weight:900}.choice-row,.theme-choices,.color-choices,.levels{gap:9px;display:flex}.choice-row button,.theme-choices button,.color-choices button,.levels button,.goal-picker button{background:#fbfdfd;border:2px solid #e3eded;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 9px;display:flex}.choice-row button{flex-direction:column;align-items:flex-start;position:relative}.choice-row button>span{font-size:25px}.choice-row small{color:#84949d}button.selected{box-shadow:inset 0 0 0 1px var(--teal);border-color:var(--teal)!important;background:#ecfaf7!important}.levels button{flex-direction:column}.levels span{color:#ffc252;letter-spacing:1px;font-size:9px}.color-choices button{flex-direction:column;min-height:57px;font-size:12px}.stone{border-radius:50%;width:20px;height:20px;display:inline-block;box-shadow:inset -3px -4px 7px #0003,0 2px 4px #0004}.stone.black{background:#1a2730}.stone.white{background:#fff;border:1px solid #bdc8c9}.theme-choices{flex-wrap:wrap}.theme-choices button{flex-direction:column;flex:calc(33.333% - 9px);min-width:110px}.theme-portraits{justify-content:center;align-items:center;gap:4px;height:34px;display:flex}.theme-portraits .character-portrait{border-radius:10px;width:32px;height:32px}.theme-choices button strong{font-size:12px}.character-picker-field{grid-column:1/-1}.character-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;display:grid}.character-picker button{background:#fbfdfd;border:2px solid #e3eded;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:9px 6px;display:flex;position:relative}.picker-portrait{background:#e8f7f4;border-radius:18px;width:62px;height:62px;display:block;overflow:hidden}.picker-portrait .character-portrait{width:100%;height:100%}.character-picker button>span:nth-child(2){text-align:center;min-width:0}.character-picker strong,.character-picker small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.character-picker strong{font-size:12px}.character-picker small{color:#87979e;margin-top:2px;font-size:9px}.picker-check{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:grid;position:absolute;top:5px;right:5px}.goal-picker{background:#fff8e6;border-radius:14px;align-items:center;gap:10px;margin-top:25px;padding:14px;display:flex}.goal-picker>span{margin-right:auto;font-weight:900}.goal-picker button{border-color:#f2ddb3;flex:0 110px;padding:8px}.start-button{width:min(360px,100%);margin:30px auto 0;display:block}.game-page{background:#edf7f5;min-height:100vh}.game-header{background:#fff;border-bottom:1px solid #dcebea;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.game-pills{gap:9px;display:flex}.game-pills span{color:#137c86;background:#e8f7f4;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:800}.exit{font-size:12px}.game-layout{grid-template-columns:230px minmax(430px,690px) 245px;justify-content:center;gap:28px;min-height:calc(100vh - 68px);padding:25px;display:grid}.players,.analysis{padding-top:44px}.player{background:#ffffffa8;border:2px solid #0000;border-radius:18px;align-items:center;gap:12px;padding:15px;transition:all .2s;display:flex;position:relative}.player.active{background:#fff;border-color:#5dc4bb;box-shadow:0 8px 25px #23626e12}.avatar{background:#dff3ef;border-radius:17px;place-items:center;width:55px;height:55px;display:grid;position:relative;overflow:visible}.character-portrait{border-radius:inherit;object-fit:cover;background-color:#e8f7f4;background-repeat:no-repeat;width:100%;height:100%;display:block}.character-portrait.octonaut{object-fit:contain;background:linear-gradient(#dff7fb,#cdeeed);padding:2px}.character-portrait.hikaru{object-position:center top}.character-portrait.official-cartoon{object-fit:contain;background:#fff9ef;padding:2px}.character-sprite{background-size:400%}.calabash-dawa{background-position:11% 7%}.calabash-qiwa{background-position:100% 88%}.calabash-siwa{background-position:4% 87%}.calabash-wuwa{background-position:40% 87%}.avatar .stone{width:17px;height:17px;position:absolute;bottom:-3px;right:-3px}.player span{color:#8b9ba5;font-size:10px;font-weight:800}.player h3{margin:2px 0;font-size:16px}.player p{color:#6f838f;margin:0;font-size:11px}.active-dot{background:#31c49d;border-radius:50%;width:9px;height:9px;margin-left:auto;box-shadow:0 0 0 5px #31c49d20}.versus{text-align:center;color:#91a7ae;padding:10px;font-size:11px;font-weight:900}.move-info{background:#e0f1ee;border-radius:14px;justify-content:space-between;margin-top:20px;padding:15px;font-size:11px;display:flex}.move-info strong{color:#0d7785}.board-zone{min-width:0}.turn-banner{justify-content:center;align-items:center;gap:8px;height:39px;font-size:14px;font-weight:900;display:flex}.dot{border-radius:50%;width:11px;height:11px}.dot.dark{background:#18252b}.dot.light{background:#fff;border:1px solid #9aabad}.board{aspect-ratio:1;background:#dfaa54;border:clamp(18px,3vw,32px) solid #9a5a2d;border-radius:14px;width:min(100%,100vh - 245px);margin:auto;position:relative;box-shadow:0 16px 35px #173c4a33,inset 0 0 25px #7e421e30}.board-coordinates{z-index:4;pointer-events:none;color:#593717;text-shadow:0 1px #f5ca80;font-size:clamp(9px,1.25vw,13px);font-weight:900;line-height:1;position:absolute;inset:0}.board-coordinates .coord{place-items:center;display:grid;position:absolute}.board-coordinates .column{width:18px;transform:translate(-50%)}.board-coordinates .column.top{top:1.1%}.board-coordinates .column.bottom{bottom:1.1%}.board-coordinates .row{height:18px;transform:translateY(-50%)}.board-coordinates .row.left{left:1.5%}.board-coordinates .row.right{right:1.5%}.grid-lines{position:absolute;inset:7%}.grid-lines .v,.grid-lines .h{background:#62401fa8;display:block;position:absolute}.grid-lines .v{width:1px;height:100%}.grid-lines .h{width:100%;height:1px}.grid-lines b{background:#563718;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.intersection{z-index:2;aspect-ratio:1;background:0 0;border:0;border-radius:50%;width:10.2%;position:absolute;transform:translate(-50%,-50%)}.intersection:not(:disabled):hover:after{content:"";background:#18394330;border-radius:50%;position:absolute;inset:12%}.intersection.black-stone{background:radial-gradient(circle at 32% 25%,#53606a 0,#1a252b 38%,#070b0d 85%);box-shadow:inset -4px -5px 7px #0008,0 5px 8px #4c351b88}.intersection.white-stone{background:radial-gradient(circle at 32% 24%,#fff 0,#f5f2e9 47%,#c6c5bd 100%);box-shadow:inset -4px -5px 7px #7e7d7530,0 5px 8px #4c351b75}.intersection.recommended-stone{background:radial-gradient(circle at 32% 24%,#8ae8ff 0,#249be8 45%,#0757b8 100%);animation:1.5s ease-in-out infinite recommended-pulse;box-shadow:inset -4px -5px 7px #003d8c55,0 0 0 3px #d8f6ff,0 5px 10px #0757b877}.intersection.recommended-stone:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:35%;box-shadow:0 0 5px #fff}@keyframes recommended-pulse{50%{transform:translate(-50%,-50%)scale(1.08);box-shadow:inset -4px -5px 7px #003d8c55,0 0 0 5px #d8f6ffaa,0 6px 12px #0757b877}}.intersection.last:after{content:"";background:#ff6b5c;border-radius:50%;width:22%;height:22%;position:absolute;top:39%;left:39%;box-shadow:0 0 0 2px #fff9}.game-message{background:#fff;border:1px solid #d4eae7;border-radius:15px;align-items:center;gap:12px;min-height:63px;margin:13px auto 9px;padding:10px 15px;display:flex}.game-message>span{font-size:25px}.game-message strong,.game-message small{display:block}.game-message strong{font-size:13px}.game-message small{color:#748891;margin-top:3px;font-size:11px}.controls{justify-content:center;gap:8px;display:flex}.controls button{background:#fff;border:1px solid #d7e8e6;border-radius:11px;min-width:70px;padding:8px;font-size:17px}.controls span{margin-top:2px;font-size:10px;display:block}.controls .recommend-control{color:#0874cf;background:#eef9ff;border-color:#8bcdf3}.score-card,.situation,.tip{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 25px #205a6810}.score-head{justify-content:space-between;align-items:center;display:flex}.score-head span{font-weight:900}.score-head small{color:#96a4aa;font-size:9px}.score-ring{--score:0deg;background:radial-gradient(circle at center, #fff 61%, transparent 63%), conic-gradient(#ffbd50 var(--score), #edf2f1 0);border-radius:50%;place-content:center;width:98px;height:98px;margin:19px auto 10px;display:grid}.score-ring strong{font-size:30px;line-height:1}.score-ring small{text-align:center;color:#8a999f}.score-card h3,.score-card p{text-align:center}.score-card h3{color:#e19119;margin:4px}.score-card p{color:#70858f;font-size:11px;line-height:1.6}.waiting-eval{text-align:center;color:#8da0a8;place-content:center;min-height:160px;font-size:12px;display:grid}.waiting-eval span{font-size:35px}.situation{opacity:.72;margin-top:12px}.situation.visible{opacity:1;box-shadow:0 0 0 2px #4eb9ac}.situation>div:first-child{justify-content:space-between;font-size:11px;display:flex}.situation b{font-size:10px}.balance{background:#f2f0e8;border-radius:99px;height:8px;margin:12px 0 7px;overflow:hidden}.balance i{background:#273942;height:100%;display:block}.situation p{text-align:center;color:#758990;margin:0;font-size:10px}.tip{box-shadow:none;background:#fff7df;align-items:center;gap:10px;margin-top:12px;display:flex}.tip span{font-size:31px}.tip p{margin:0;font-size:10px;line-height:1.55}.tip strong{color:#c77a19;display:block}.result-modal{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#123d5188;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-modal>div{text-align:center;background:#fff;border-radius:25px;width:min(390px,100%);padding:35px;box-shadow:0 25px 70px #07354c55}.trophy{font-size:60px}.result-modal h2{margin:10px;font-size:30px}.result-modal p{color:#667e89}.result-modal button{background:#fff;border:1px solid #d4e2e1;border-radius:12px;margin:6px;padding:11px 18px}.result-modal .primary{color:#fff;background:#f55e56;border:0}.admin-page{background:#eaf6f4;place-items:center;min-height:100vh;display:grid}.admin-login{text-align:center;background:#fff;border-radius:24px;flex-direction:column;gap:13px;width:min(390px,100% - 40px);padding:35px;display:flex;box-shadow:0 20px 60px #1d627020}.gate-loading-card{align-items:center}.gate-loading-dot{background:linear-gradient(90deg,#35a994 0 33%,#f0b65d 33% 66%,#ef7d72 66%) 0 0/200% 100%;border-radius:999px;width:38px;height:10px;margin-top:8px;animation:1.15s ease-in-out infinite alternate gate-loading}@keyframes gate-loading{to{background-position:100% 0;transform:scaleX(.72)}}.admin-login .back{color:#6c818b;background:0 0;border:0;align-self:start}.admin-login .lock{font-size:45px}.admin-login h1,.admin-login p{margin:0}.admin-login p{color:#7e929b}.admin-login input,.admin-panels input{border:1px solid #d5e4e2;border-radius:11px;outline:0;padding:12px}.admin-shell{background:#f4f8f7;grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-shell>aside{color:#fff;background:#0c536b;flex-direction:column;height:100vh;padding:24px 17px;display:flex;position:sticky;top:0}.admin-brand{margin-bottom:35px;font-size:17px}.admin-shell nav{gap:7px;display:grid}.admin-shell nav button,.back-home{text-align:left;color:#cde8eb;background:0 0;border:0;border-radius:10px;padding:12px 14px;font-size:13px}.admin-shell nav button.active{color:#fff;background:#ffffff1d;font-weight:800}.back-home{margin-top:auto}.admin-content{width:100%;max-width:1200px;margin:auto;padding:38px}.category-admin-panel{background:#fff;border:1px solid #dbe8e4;border-radius:20px;margin:22px 0;padding:25px;box-shadow:0 10px 30px #1e5d5510}.category-admin-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.category-admin-head h2{margin:4px 0}.category-admin-head p{color:#789092;margin:0;font-size:11px}.category-admin-head>button{border:0;border-radius:11px;padding:11px 16px}.category-create-row{grid-template-columns:60px minmax(0,1fr) auto;gap:8px;margin:18px 0;display:grid}.category-create-row input,.category-edit-row input{border:1px solid #d6e5e0;border-radius:10px;min-height:40px;padding:9px 10px}.category-create-row button,.category-edit-row button{color:#fff;background:#238f83;border:0;border-radius:10px;padding:9px 12px;font-weight:800}.category-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.category-admin-grid>article{background:#fbfdfc;border:1px solid #e0ece8;border-radius:14px;padding:14px}.category-card-title{grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:7px;display:grid}.category-card-title>span{background:#eaf7f2;border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.category-card-title strong,.category-card-title small{display:block}.category-card-title small{color:#809696;margin-top:3px;font-size:9px}.category-card-title button,.category-record-toggle{color:#287b72;background:#fff;border:1px solid #d5e5e0;border-radius:8px;padding:6px 8px;font-size:9px}.category-card-title button.danger{color:#b65750}.category-record-toggle{width:100%;margin-top:10px}.category-edit-row{grid-template-columns:55px minmax(0,1fr) auto auto;gap:6px;display:grid}.category-records{gap:5px;margin-top:8px;display:grid}.category-records>div{background:#fff;border-radius:8px;padding:8px}.category-records time,.category-records strong,.category-records small{display:block}.category-records time{color:#839998;font-size:8px}.category-records strong{margin:2px 0;font-size:10px}.category-records small,.category-records p{color:#7a9192;font-size:8px}.admin-heading{justify-content:space-between;align-items:center;display:flex}.admin-heading h1{margin:0}.status{color:#24855e;background:#e1f7e9;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:800}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0;display:grid}.stats article,.admin-panels article,.usage{background:#fff;border:1px solid #e1eae8;border-radius:17px;padding:20px}.stats span,.stats small{color:#81939a;font-size:11px;display:block}.stats strong{margin:6px 0;font-size:28px;display:block}.admin-panels{grid-template-columns:1.25fr .75fr;gap:17px;display:grid}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.panel-title h2,.panel-title p{margin:0 0 4px}.panel-title p{color:#819097;font-size:11px}.model-badge{color:#138072;background:#e2f6f2;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800}.shield{font-size:26px}.admin-panels label{color:#617881;gap:6px;margin:12px 0;font-size:11px;font-weight:700;display:grid}.panel-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.panel-actions button{background:#fff;border:1px solid #d5e4e2;border-radius:10px;padding:9px 14px}.panel-actions .primary{color:#fff;background:#f35f57;border:0}.notice{color:#8a733e;background:#fff7e4;border-radius:10px;padding:11px;font-size:10px;line-height:1.5}.full{width:100%;margin-top:13px}.usage{margin-top:17px}.usage h2,.usage p{margin:0 0 6px}.usage p{color:#87979d;font-size:11px}.empty-chart{text-align:center;color:#9aaaae;place-content:center;height:130px;display:grid}.empty-chart span{font-size:30px}.game-stat-panels{grid-template-columns:.8fr 1.2fr;gap:17px;margin-top:17px;display:grid}.game-stat-panels>article{background:#fff;border:1px solid #e1eae8;border-radius:17px;padding:20px}.result-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-grid>div{background:#f3faf8;border-radius:14px;padding:15px}.result-grid span,.result-grid strong,.result-grid small{display:block}.result-grid span{font-size:12px}.result-grid strong{color:#148373;margin:9px 0 2px;font-size:23px}.result-grid small{color:#de625c}.character-stat-list{grid-template-columns:1fr 1fr;gap:7px 14px;max-height:250px;display:grid;overflow:auto}.character-stat-list>div{border-bottom:1px solid #edf2f1;justify-content:space-between;align-items:center;padding:9px 3px;font-size:12px;display:flex}.character-stat-list span small{color:#8b9ca2;margin-top:2px;font-size:9px;display:block}.character-stat-list strong{color:#167e83}.no-stats{color:#8c9da2;font-size:11px}.growth-portal{color:#194559;background:linear-gradient(#f0fbf8 0,#fbf7e9 58%,#fff 100%);min-height:100vh;overflow:hidden}.portal-topbar{z-index:4;justify-content:space-between;align-items:center;max-width:1180px;height:86px;margin:auto;padding:0 24px;display:flex;position:relative}.portal-brand{color:#174d5e;text-align:left;background:0 0;border:0;align-items:center;gap:11px;display:flex}.portal-brand>span{background:#fff;border-radius:16px;place-items:center;width:46px;height:46px;font-size:25px;display:grid;box-shadow:0 8px 24px #2b7f7430}.portal-brand strong,.portal-brand small{display:block}.portal-brand strong{font-size:20px}.portal-brand small{color:#7a9697;margin-top:2px;font-size:10px}.portal-actions{color:#6f8d91;align-items:center;gap:18px;font-size:12px;display:flex}.portal-actions button{color:#316a73;background:#ffffffb8;border:1px solid #cce6df;border-radius:99px;padding:9px 14px;font-weight:700}.portal-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;max-width:1180px;min-height:345px;margin:auto;padding:35px 50px 50px;display:grid}.portal-eyebrow{color:#1ba091;letter-spacing:.17em;margin:0 0 8px;font-size:10px;font-weight:900}.portal-copy h1{color:#153f55;letter-spacing:-.055em;margin:0;font-size:clamp(44px,5vw,66px);line-height:1.12}.portal-copy h1 em{color:#f78a55;font-style:normal}.portal-copy>p:not(.portal-eyebrow){color:#69868e;max-width:590px;font-size:15px;line-height:1.8}.portal-streak{background:#fff;border-radius:16px;align-items:center;gap:10px;width:fit-content;margin-top:20px;padding:11px 16px;display:flex;box-shadow:0 9px 28px #347d6914}.portal-streak>span{font-size:27px}.portal-streak strong,.portal-streak small{display:block}.portal-streak strong{font-size:12px}.portal-streak small{color:#81979c;margin-top:3px;font-size:10px}.portal-island{filter:drop-shadow(0 24px 24px #22716d2d);place-items:end center;min-height:290px;display:grid;position:relative}.island-land{color:#4e9b56;background:linear-gradient(#78ca73 0 42%,#e9c36d 43% 72%,#51a7b8 73%);border:9px solid #fff9;border-radius:55% 45% 50% 50%;justify-content:space-between;align-items:flex-start;width:min(390px,100%);height:150px;padding:32px 55px;font-size:58px;display:flex;transform:rotate(-2deg)}.island-land span{margin-top:-45px;font-size:84px}.island-sun,.island-cloud{position:absolute}.island-sun{font-size:55px;top:5px;right:35px}.island-cloud{color:#fff;filter:drop-shadow(0 5px 5px #83bbb833);font-size:55px}.cloud-one{top:25px;left:0}.cloud-two{font-size:38px;top:115px;right:-10px}.portal-island>b{font-size:33px;position:absolute;top:90px;left:47%}.portal-visual{background:#d8f5f3;border:8px solid #fff;border-radius:34px;min-height:300px;position:relative;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 26px 60px #1e6a6b31}.portal-visual img{object-fit:cover;object-position:64% center;width:100%;height:300px;display:block}.visual-chip{color:#225362;background:#ffffffe8;border:1px solid #ffffff94;border-radius:99px;padding:8px 12px;font-size:10px;font-weight:900;position:absolute;box-shadow:0 8px 25px #1c596637}.chip-record{top:18px;left:16px}.chip-goal{top:70px;right:14px}.chip-go{bottom:17px;left:25px}.portal-entries{z-index:3;grid-template-columns:1fr 1fr;gap:22px;max-width:1100px;margin:0 auto;padding:0 24px 42px;display:grid;position:relative}.entry-card{text-align:left;background:#fff;border:0;border-radius:30px;grid-template-columns:44% 56%;align-items:stretch;min-height:220px;padding:0;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden;box-shadow:0 18px 50px #235f631c}.entry-card:hover{transform:translateY(-6px);box-shadow:0 25px 60px #235f632b}.entry-art{place-items:center;display:grid;position:relative;overflow:hidden}.go-entry .entry-art{background:linear-gradient(145deg,#127d8d,#0a586f)}.record-entry .entry-art{background:linear-gradient(145deg,#ffb55f,#f27963)}.entry-board{color:#172329;background-color:#e4ae56;background-image:linear-gradient(#61431f66 1px,#0000 1px),linear-gradient(90deg,#61431f66 1px,#0000 1px);background-size:25% 25%;border:11px solid #8c552d;border-radius:18px;place-items:center;width:135px;height:135px;font-size:30px;font-style:normal;display:grid;position:relative;box-shadow:0 16px 25px #073f4a66}.entry-board b,.entry-board em{border-radius:50%;place-items:center;width:27px;height:27px;font-size:24px;font-style:normal;display:grid;position:absolute}.entry-board b{color:#fff;top:12px;right:11px}.entry-board em{color:#18262d;bottom:9px;left:8px}.entry-mascot{font-size:65px;font-style:normal;position:absolute;bottom:-4px;right:3px;transform:rotate(-10deg)}.record-book{filter:drop-shadow(0 13px 15px #a4493b44);font-size:105px;font-style:normal}.entry-mic{background:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:27px;font-style:normal;display:grid;position:absolute;bottom:25px;right:22px;box-shadow:0 9px 18px #a84d3845}.entry-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:34px 28px;display:flex}.entry-copy>small{color:#22a091;letter-spacing:.08em;font-size:10px;font-weight:900}.record-entry .entry-copy>small{color:#e27b4f}.entry-copy>strong{color:#173f52;margin:7px 0;font-size:25px}.entry-copy>span{color:#789097;font-size:12px;line-height:1.5}.entry-copy>b{color:#0e8790;margin-top:20px;font-size:12px}.record-entry .entry-copy>b{color:#e46d4c}.portal-footer{text-align:center;color:#8ba09f;padding:0 20px 30px;font-size:11px}.entry-art>img{object-fit:cover;width:100%;height:100%;min-height:220px;transition:transform .45s}.go-entry .entry-art>img{object-position:68% center}.record-entry .entry-art>img{object-position:center}.entry-card:hover .entry-art>img{transform:scale(1.045)}.entry-art-shade{background:linear-gradient(#0000 35%,#092f426e 100%);position:absolute;inset:0}.entry-art-badge{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07384c99;border:1px solid #fff6;border-radius:99px;padding:7px 10px;font-size:10px;font-style:normal;font-weight:800;position:absolute;bottom:14px;left:14px}.portal-entries .entry-card{grid-template-rows:160px auto;grid-template-columns:1fr}.portal-entries .entry-art>img{min-height:160px}.portal-entries .entry-copy{padding:22px}.portal-entries .entry-copy>b{margin-top:14px}.record-page{color:#244b5c;background:#f1f8f4;min-height:100vh}.record-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-bottom:1px solid #dcebe4;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 max(24px,50vw - 640px);display:grid}.record-back{color:#52737c;background:0 0;border:0;justify-self:start;font-weight:700}.record-title{align-items:center;gap:9px;display:flex}.record-title>span{font-size:27px}.record-title strong,.record-title small{display:block}.record-title small{color:#8aa09f;font-size:9px}.record-stars{color:#cd7c3d;background:#fff3d8;border-radius:99px;justify-self:end;padding:8px 12px;font-size:10px;font-weight:800}.record-layout{grid-template-columns:minmax(0,1fr) 335px;align-items:start;gap:24px;max-width:1280px;margin:auto;padding:28px 26px 60px;display:grid}.record-main{min-width:0}.voice-card,.recent-records,.growth-summary{background:#fff;border:1px solid #deebe5;border-radius:27px;box-shadow:0 14px 40px #346c5a10}.voice-card{padding:32px;position:relative;overflow:hidden}.voice-card:before{content:"";background:#e8f9f2;border-radius:50%;width:250px;height:250px;position:absolute;top:-120px;right:-110px}.voice-heading{text-align:center;position:relative}.voice-heading h1{color:#1d4c5b;margin:0;font-size:32px}.voice-heading>p:last-child{color:#7a9295;font-size:12px}.hold-to-talk{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#28b59e,#0d7d87);border:9px solid #e0f5ee;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:168px;height:168px;margin:24px auto;display:flex;position:relative;box-shadow:0 14px 35px #138f8750}.hold-to-talk i{z-index:2;font-size:41px;font-style:normal;position:relative}.hold-to-talk strong,.hold-to-talk small{z-index:2;display:block;position:relative}.hold-to-talk strong{font-size:15px}.hold-to-talk small{color:#d5fffa;font-size:9px}.voice-card.listening .hold-to-talk{background:linear-gradient(145deg,#ff9d69,#ed6959)}.voice-ripple{opacity:0;border:2px solid #30b39b55;border-radius:50%;position:absolute;inset:-12px}.listening .voice-ripple{animation:1.5s infinite voicePulse}.listening .ripple-two{animation-delay:.55s}@keyframes voicePulse{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}.native-recorder{cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}.native-recorder input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.native-recorder:active{transform:scale(.97)}.native-recorder.transcribing{pointer-events:none;background:linear-gradient(145deg,#ff9d69,#ed6959)}.voice-text{gap:8px;display:grid}.voice-text>span{justify-content:space-between;font-size:11px;font-weight:800;display:flex}.voice-text span small{color:#93a6a7;font-weight:500}.voice-text textarea{resize:vertical;color:#315964;background:#f8fcfa;border:1px solid #d8e9e3;border-radius:16px;outline:0;width:100%;min-height:105px;padding:15px;line-height:1.7}.record-message{color:#657e82;background:#fff8e6;border-radius:12px;margin-top:12px;padding:10px 13px;font-size:11px}.save-record{color:#fff;background:linear-gradient(135deg,#ff8d62,#f36558);border:0;border-radius:14px;width:100%;margin-top:14px;padding:14px;font-weight:900}.save-record:disabled{opacity:.45}.record-privacy{text-align:center;color:#96a9a8;margin-top:11px;font-size:9px}.record-date-picker{background:#f8fcfa;border:1px solid #d8e9e3;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;padding:13px 14px;display:flex}.record-date-picker strong,.record-date-picker small{display:block}.record-date-picker strong{font-size:11px}.record-date-picker small{color:#8ca2a2;margin-top:3px;font-size:9px}.date-quick-actions{align-items:center;gap:5px;display:flex}.date-quick-actions button,.date-quick-actions input{color:#527378;background:#fff;border:1px solid #d3e6df;border-radius:9px;min-height:34px;padding:7px 9px;font-size:10px}.date-quick-actions button.selected{color:#fff;background:#1e9b8d;border-color:#1e9b8d}.record-form-actions{grid-template-columns:auto 1fr;align-items:end;gap:9px;display:grid}.record-form-actions .save-record{margin-top:14px}.clear-record{color:#6f8588;background:#fff;border:1px solid #d8e6e2;border-radius:14px;padding:14px 15px;font-weight:700}.clear-record:disabled{opacity:.45}.recent-records{margin-top:22px;padding:28px 30px}.section-heading,.summary-head{justify-content:space-between;align-items:center;display:flex}.section-heading h2,.summary-head h2{color:#244d5c;margin:0;font-size:22px}.section-heading>span{color:#268d7e;background:#e7f7f1;border-radius:99px;padding:6px 10px;font-size:9px}.timeline{margin-top:22px}.timeline-entry{grid-template-columns:95px 1fr;gap:18px;padding-bottom:25px;display:grid;position:relative}.timeline-entry:not(:last-child):before{content:"";background:#e1eee8;width:2px;position:absolute;top:23px;bottom:0;left:88px}.timeline-entry time{color:#6e8b8e;text-align:right;padding-right:18px;font-size:10px;position:relative}.timeline-entry time:after{content:"";background:#28a892;border:3px solid #d5f1e8;border-radius:50%;width:11px;height:11px;position:absolute;top:1px;right:-7px}.timeline-entry>div{padding-left:9px}.timeline-entry h3{margin:0 0 9px;font-size:15px}.timeline-entry p{color:#7c9194;font-size:11px}.timeline-entry small{color:#ce8547;font-size:10px}.activity-tags{flex-wrap:wrap;gap:6px;display:flex}.activity-tags span{color:#36777a;background:#edf8f4;border-radius:9px;padding:6px 9px;font-size:9px}.record-empty{text-align:center;color:#829a99;padding:38px 15px}.record-empty>span{font-size:40px}.timeline-entry-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.timeline-entry-heading h3{flex:1}.timeline-entry-heading button{color:#c26359;background:#fff8f7;border:1px solid #f0d5d1;border-radius:8px;padding:5px 8px;font-size:9px}.timeline-entry-heading button:disabled{opacity:.5}.growth-summary{padding:25px;position:sticky;top:96px}.summary-head select{color:#547277;background:#f9fcfb;border:1px solid #d7e8e2;border-radius:9px;padding:7px;font-size:10px}.summary-cards{gap:9px;margin-top:20px;display:grid}.summary-cards article{background:#f5faf8;border-radius:15px;align-items:center;gap:12px;padding:13px;display:flex}.summary-cards article>span{background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;display:grid}.summary-cards article>div{min-width:0}.summary-cards small,.summary-cards strong,.summary-cards p{display:block}.summary-cards small{color:#7d9495;font-size:9px}.summary-cards strong{color:#1d6869;font-size:22px}.summary-cards strong i{margin-left:3px;font-size:9px;font-style:normal}.summary-cards p{color:#91a2a2;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:8px;overflow:hidden}.summary-empty{color:#819796;text-align:center;background:#f5faf8;padding:30px 15px;font-size:10px;line-height:1.7}.summary-note{background:#fff5dd;border-radius:14px;gap:10px;margin-top:20px;padding:13px;display:flex}.summary-note>span{font-size:24px}.summary-note p{color:#83745c;margin:0;font-size:9px}.summary-note strong{color:#b66e37;display:block}.goal-page{color:#244b5c;background:linear-gradient(#f2faf7,#fff8ea);min-height:100vh}.goal-layout{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:24px;max-width:1200px;margin:auto;padding:30px 24px 70px;display:grid}.goal-create-card,.goal-list-card{background:#fff;border:1px solid #deebe5;border-radius:27px;padding:28px;box-shadow:0 14px 40px #346c5a10}.goal-create-card{position:sticky;top:92px}.goal-create-card h1{color:#1d4c5b;margin:0;font-size:28px}.goal-create-card>p:not(.portal-eyebrow){color:#7d9295;font-size:11px;line-height:1.7}.goal-categories{grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0;display:grid}.goal-categories button{color:#587378;background:#fafdfc;border:1px solid #dce9e5;border-radius:12px;place-items:center;gap:4px;padding:9px 3px;font-size:10px;display:grid}.goal-categories button span{font-size:20px}.goal-categories button.selected{color:#166d68;box-shadow:inset 0 0 0 1px #26a697}.goal-input{gap:8px;display:grid}.goal-input>span{justify-content:space-between;font-size:11px;font-weight:800;display:flex}.goal-input small{color:#93a6a7;font-weight:500}.goal-input textarea{resize:vertical;color:#315964;background:#f8fcfa;border:1px solid #d8e9e3;border-radius:15px;outline:0;min-height:125px;padding:14px;line-height:1.7}.goal-create-actions{grid-template-columns:auto 1fr;gap:9px;margin-top:12px;display:grid}.goal-create-actions .save-record{margin:0}.goal-voice{color:#14786f;touch-action:none;-webkit-user-select:none;user-select:none;background:#eaf8f4;border:1px solid #bfe3db;border-radius:14px;padding:13px;font-weight:800}.goal-voice:active{color:#fff;background:#ef7660}.goal-list{gap:10px;margin-top:22px;display:grid}.goal-item{background:#fbfdfc;border:1px solid #e1ece8;border-radius:17px;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.goal-check{background:#edf8f4;border-radius:14px;place-items:center;width:46px;height:46px;font-size:23px;font-weight:900;display:grid}.goal-item small{color:#779293;font-size:9px}.goal-item h3{color:#294f5b;margin:3px 0;font-size:14px;line-height:1.5}.goal-item>button{color:#fff;background:#26a28f;border:0;border-radius:11px;padding:9px 13px;font-weight:800}.goal-item.completed{opacity:.8;background:#f7faf9}.goal-item.completed .goal-check{color:#fff;background:#37ae75}.goal-item.completed h3{-webkit-text-decoration:line-through #91aaa3;text-decoration:line-through #91aaa3}.goal-item p{color:#72898d;margin:6px 0;font-size:10px}.goal-item time{color:#35a174;font-size:9px}.completed-heading{border-top:1px solid #e5eeeb;justify-content:space-between;margin-top:30px;padding-top:20px;display:flex}.completed-heading h2{margin:0;font-size:18px}.completed-heading span{color:#7c9495;font-size:10px}.goal-empty{text-align:center;color:#829897;padding:45px 15px}.goal-empty>span{font-size:42px;display:block}.goal-empty strong{margin-top:8px;display:block}.goal-empty p{font-size:10px}.goal-modal{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#173a46a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.goal-modal form{background:#fff;border-radius:25px;width:min(500px,100%);padding:30px;box-shadow:0 25px 80px #092c394d}.goal-modal-icon{text-align:center;font-size:47px;display:block}.goal-modal h2{text-align:center;margin:7px 0}.goal-modal>form>p{color:#6c8589;text-align:center;font-size:11px}.goal-modal>form>p b{color:#168779}.goal-modal label{color:#385d67;gap:7px;margin-top:20px;font-size:11px;font-weight:800;display:grid}.goal-modal textarea{resize:vertical;border:1px solid #d7e6e2;border-radius:13px;outline:0;min-height:125px;padding:13px;line-height:1.6}.goal-modal>form>small{color:#91a3a3;text-align:right;margin-top:4px;display:block}.goal-modal form>div:last-child{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}.goal-modal form>div:last-child button{background:#fff;border:1px solid #d8e5e1;border-radius:12px;padding:12px;font-weight:800}.goal-modal form>div:last-child .primary{color:#fff;background:#22a18e;border:0}@media (width<=1000px){.game-layout{grid-template-columns:minmax(420px,650px) 220px}.players{grid-area:1/1/auto/-1;grid-template-columns:1fr auto 1fr;align-items:center;padding:0;display:grid}.move-info{display:none}.versus{padding:5px}.game-layout .board-zone{grid-area:2/1}.analysis{grid-area:2/2;padding-top:39px}.record-layout{grid-template-columns:1fr}.growth-summary{position:static}.summary-cards{grid-template-columns:repeat(3,1fr)}.goal-layout{grid-template-columns:1fr}.goal-create-card{position:static}}@media (width<=760px){.gate{background-position:67%;place-items:end center;padding:22px 14px}.gate-card{padding:28px 22px 24px}.gate-logo{width:55px;height:55px;font-size:27px}.topbar{height:62px;padding:0 15px}.admin-link{font-size:11px}.brand{font-size:16px}.brand>span{width:30px;height:30px}.hero{text-align:center;background-image:linear-gradient(180deg, #05677fe8 0%, #087b91bb 47%, #087b9140 75%, transparent 100%), var(--hero-image);background-position:57%;grid-template-columns:1fr;gap:18px;min-height:610px;padding:42px 25px 65px}.hero-copy{z-index:2;position:relative}.hero-sub{font-size:14px}.hero-characters{width:min(330px,92vw);height:185px}.hero-character{border-radius:20px;width:90px;padding:6px}.hero-character .character-portrait{border-radius:15px;height:84px}.hero-character strong{font-size:10px}.hero-character-0{left:2%}.hero-character-1{left:36%}.hero-character-2{right:1%}.mode-cards{grid-template-columns:1fr;margin-top:-30px}.setup-card{margin:0 12px;padding:28px 18px}.setup-title h1{font-size:28px}.setup-grid{grid-template-columns:1fr}.character-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-portrait{width:68px;height:68px}.goal-picker{flex-wrap:wrap}.goal-picker>span{width:100%}.goal-picker button{flex:1}.game-header{height:58px;padding:0 12px}.game-header .brand{font-size:14px}.game-pills span:last-child{display:none}.game-pills span{padding:6px 8px;font-size:9px}.exit{display:none}.game-layout{flex-direction:column;gap:8px;min-height:calc(100vh - 58px);padding:9px;display:flex}.players{order:1;grid-template-columns:1fr auto 1fr;display:grid}.player{border-radius:13px;padding:8px}.avatar{border-radius:11px;width:40px;height:40px;font-size:25px}.player h3{font-size:12px}.player p{font-size:9px}.active-dot{display:none}.board-zone{order:2}.turn-banner{height:30px;font-size:12px}.board{border-width:17px;width:min(100%,100vh - 330px);min-width:300px}.game-message{min-height:54px;margin:7px 0}.controls{gap:5px}.controls button{flex:1;min-width:0;padding:7px 2px}.analysis{order:3;grid-template-columns:1fr 1fr;gap:8px;padding:0;display:grid}.score-card{display:none}.situation,.tip{margin:0;padding:10px}.tip{display:none}.admin-shell{display:block}.admin-shell>aside{flex-direction:row;align-items:center;height:auto;padding:12px;position:static}.admin-shell nav,.back-home{display:none}.admin-brand{margin:0}.admin-content{padding:20px 14px}.stats{grid-template-columns:1fr 1fr}.admin-panels,.game-stat-panels,.category-admin-grid{grid-template-columns:1fr}.category-admin-head{flex-direction:column;align-items:stretch}.category-create-row{grid-template-columns:52px minmax(0,1fr)}.category-create-row button{grid-column:1/-1}.category-card-title{grid-template-columns:38px minmax(0,1fr)}.category-card-title button{grid-row:2}.category-edit-row{grid-template-columns:48px minmax(0,1fr)}.category-edit-row button{grid-row:2}.character-stat-list{grid-template-columns:1fr}.admin-heading{align-items:flex-end}.status{font-size:8px}.portal-topbar{height:70px}.portal-actions>span,.portal-brand small{display:none}.portal-hero{text-align:center;grid-template-columns:1fr;min-height:auto;padding:35px 24px 25px}.portal-copy>p:not(.portal-eyebrow){margin-left:auto;margin-right:auto}.portal-copy h1{font-size:43px}.portal-streak{text-align:left;margin-left:auto;margin-right:auto}.portal-visual{min-height:210px;transform:none}.portal-visual img{height:210px}.portal-entries{grid-template-columns:1fr}.entry-card{grid-template-columns:42% 58%;min-height:180px}.entry-art>img{min-height:180px}.entry-copy{padding:24px 18px}.entry-copy>strong{font-size:21px}.record-header{grid-template-columns:auto 1fr auto;height:66px;padding:0 15px}.record-title{justify-self:center}.record-title small,.record-stars{display:none}.record-back{font-size:0}.record-back:before{content:"←";font-size:20px}.record-layout{padding:15px 12px 40px}.voice-card{padding:25px 18px}.voice-heading h1{font-size:27px}.record-date-picker{flex-direction:column;align-items:stretch}.date-quick-actions{grid-template-columns:repeat(3,1fr);display:grid}.date-quick-actions input{grid-column:1/-1}.record-form-actions{grid-template-columns:1fr}.clear-record,.record-form-actions .save-record{width:100%;margin-top:0}.recent-records{padding:23px 17px}.timeline-entry{grid-template-columns:67px 1fr;gap:11px}.timeline-entry:not(:last-child):before{left:62px}.summary-cards{grid-template-columns:1fr 1fr}.goal-layout{padding:15px 12px 45px}.goal-create-card,.goal-list-card{padding:22px 17px}.goal-create-actions{grid-template-columns:1fr}.goal-item{grid-template-columns:42px 1fr}.goal-item>button{grid-column:1/-1}.goal-modal form{padding:24px 18px}}@media (width<=380px){.board{min-width:280px}.game-message strong{font-size:11px}.game-message small{display:none}.entry-card{grid-template-columns:1fr}.entry-art{min-height:140px}.entry-copy{text-align:center;align-items:center}.summary-cards{grid-template-columns:1fr}}.timeline-entry-heading>div{gap:5px;display:flex}.timeline-entry-heading>div button{color:#287d74;white-space:nowrap;background:#f5fbf9;border-color:#d6e8e3}.timeline-entry-heading>div button:last-child{color:#c26359;background:#fff8f7;border-color:#f0d5d1}.record-section-actions{align-items:center;gap:8px;display:flex}.record-section-actions>span{color:#268d7e;background:#e7f7f1;border-radius:99px;padding:6px 10px;font-size:9px}.record-section-actions button{color:#177b71;background:#fff;border:1px solid #cfe5de;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:800}.record-list-page{color:#244b5c;background:linear-gradient(#f2faf7,#fffaf0);min-height:100vh}.record-list-shell{width:min(1180px,100% - 40px);margin:auto;padding:34px 0 70px}.record-list-intro{background:#fff;border:1px solid #dcebe5;border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);align-items:end;gap:30px;padding:28px 30px;display:grid;box-shadow:0 14px 40px #346c5a10}.record-list-intro h1{color:#1c4c5b;margin:5px 0 8px;font-size:30px}.record-list-intro p{color:#7b9294;margin:0;font-size:11px}.record-list-filters{grid-template-columns:1.35fr .8fr;gap:10px;display:grid}.record-list-filters label{color:#56777c;gap:6px;font-size:9px;font-weight:800;display:grid}.record-list-filters input,.record-list-filters select{color:#315963;background:#f8fcfa;border:1px solid #d6e6e1;border-radius:12px;outline:0;width:100%;min-height:42px;padding:10px 12px}.record-list-message{color:#537578;background:#fff2ce;border-radius:12px;margin:15px 0;padding:12px 15px;font-size:11px}.record-day-list{gap:28px;margin-top:24px;display:grid}.record-day-group{grid-template-columns:165px minmax(0,1fr);gap:20px;display:grid}.record-day-label{border-top:2px solid #27a18f;height:max-content;padding:15px 0;position:sticky;top:20px}.record-day-label time,.record-day-label span{display:block}.record-day-label time{color:#285762;font-size:13px;font-weight:900;line-height:1.6}.record-day-label span{color:#88a09e;margin-top:4px;font-size:9px}.record-day-cards{gap:13px;display:grid}.record-list-card{background:#fff;border:1px solid #dfece7;border-radius:20px;padding:20px;box-shadow:0 9px 26px #346c5a0d}.record-card-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:15px;display:grid}.record-card-top small{color:#e17a55;font-size:9px;font-weight:900}.record-card-top p{color:#385e68;margin:5px 0 0;font-size:13px;line-height:1.7}.record-card-top>button{color:#247d73;background:#f7fbfa;border:1px solid #d5e7e1;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:800}.record-card-summary{background:#fff9e9;border-radius:11px;align-items:center;gap:10px;margin:15px 0 10px;padding:10px 12px;display:flex}.record-card-summary span{color:#b97832;font-size:9px;font-weight:900}.record-card-summary strong{color:#596f6f;font-size:11px}.record-item-list{gap:7px;display:grid}.record-item-row{background:#fbfdfc;border:1px solid #e3eee9;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;display:grid}.record-item-icon{background:#eaf7f2;border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.record-item-row strong,.record-item-row small,.record-item-row em{display:block}.record-item-row strong{color:#315762;font-size:11px}.record-item-row small{color:#819797;margin-top:3px;font-size:9px}.record-item-row em{color:#b07d29;margin-top:4px;font-size:8px;font-style:normal}.record-item-row button{color:#278177;background:#fff;border:1px solid #d4e7e1;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800}.record-list-empty{text-align:center;color:#7f9998;background:#ffffffa8;border:1px dashed #cee2db;border-radius:22px;margin-top:24px;padding:60px 20px}.record-list-empty>span{font-size:42px}.record-list-empty h2{color:#476a70}.goal-modal input[type=date]{background:#f8fcfa;border:1px solid #d7e6e2;border-radius:12px;min-height:42px;padding:9px 11px}@media (width<=800px){.record-list-shell{width:min(100% - 24px,1180px);padding-top:16px}.record-list-intro{grid-template-columns:1fr;gap:20px;padding:22px 18px}.record-list-filters{grid-template-columns:1fr}.record-day-group{grid-template-columns:1fr;gap:8px}.record-day-label{justify-content:space-between;align-items:center;padding:10px 2px 4px;display:flex;position:static}.record-day-label span{margin:0}.record-card-top{grid-template-columns:1fr}.record-card-top>button{justify-self:start}.record-item-row{grid-template-columns:38px minmax(0,1fr)}.record-item-row button{grid-column:2;justify-self:start}.record-section-actions>span{display:none}}.activity-tags span.linked-goal{color:#78611c;background:#fff3c9}.original-record-text{background:#f8fbfa;border-left:3px solid #cce9df;border-radius:0 8px 8px 0;padding:9px 11px}.original-record-text b{color:#527a78}.goal-record-count{color:#8a6b18;background:#fff3c9;border-radius:99px;margin-top:4px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.activity-tags button{color:#36777a;cursor:pointer;background:#edf8f4;border:0;border-radius:9px;padding:6px 9px;font-size:9px}.activity-tags button.linked-goal{color:#78611c;background:#fff3c9}.goal-modal select{color:#315964;background:#f8fcfa;border:1px solid #d7e6e2;border-radius:11px;width:100%;padding:11px}.goal-item-content{min-width:0}.goal-item button.goal-record-count{cursor:pointer;border:0}.goal-manage-actions{gap:6px;margin-top:8px;display:flex}.goal-manage-actions button{color:#277a70;background:#f7fbfa;border:1px solid #d7e7e2;border-radius:8px;padding:5px 8px;font-size:9px}.goal-manage-actions button.danger{color:#b95b52;background:#fff8f7;border-color:#f0d5d1}.goal-primary-action>button{color:#fff;background:#26a28f;border:0;border-radius:11px;padding:9px 13px;font-weight:800}.goal-linked-list{grid-column:1/-1;gap:8px;margin-top:12px;display:grid}.goal-linked-list>article{background:#fff;border:1px solid #e0ebe7;border-radius:12px;grid-template-columns:minmax(0,1fr) 160px;gap:10px;padding:11px;display:grid}.goal-linked-list strong,.goal-linked-list time,.goal-linked-list small{display:block}.goal-linked-list strong{margin:3px 0;font-size:11px}.goal-linked-list p{margin:3px 0}.goal-linked-list label{color:#6f888b;font-size:9px}.goal-linked-list select{background:#f8fcfa;border:1px solid #d8e7e2;border-radius:8px;width:100%;margin-top:4px;padding:7px;font-size:9px}.goal-linked-empty{color:#849997;text-align:center;background:#f5faf8;border-radius:10px;margin:0;padding:10px}@media (width<=600px){.goal-linked-list>article{grid-template-columns:1fr}.goal-item{align-items:start}.goal-primary-action{grid-column:1/-1}.goal-primary-action>button{width:100%}}.portal-entries{grid-template-columns:repeat(2,1fr)}.learning-entry .entry-art{background:linear-gradient(145deg,#6f5bd7,#4b8fe7)}.learning-entry-art{background:radial-gradient(circle at 25% 20%,#fff3,#0000 28%);justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex;position:relative}.learning-entry-art b{color:#fff;background:#ffffff26;border-radius:15px;place-items:center;width:52px;height:58px;font-size:30px;display:grid;transform:rotate(-7deg);box-shadow:inset 0 0 0 1px #ffffff38,0 10px 25px #283b8938}.learning-entry-art b:nth-child(2){color:#314d7d;background:#ffdb6f;transform:translateY(-8px)rotate(4deg)}.learning-entry-art b:nth-child(3){background:#f77883;transform:rotate(9deg)}.learning-entry-art i{color:#4f65b1;background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-style:normal;display:grid;position:absolute;top:16px;right:18px}.learning-page{color:#244b5c;background:linear-gradient(#eef5ff,#fff9e9);min-height:100vh}.learning-shell{grid-template-columns:225px minmax(0,1fr);align-items:start;gap:22px;max-width:1260px;margin:auto;padding:28px 24px 70px;display:grid}.subject-nav{background:#fff;border:1px solid #dce8ed;border-radius:25px;padding:23px;position:sticky;top:94px;box-shadow:0 15px 40px #28517912}.subject-nav h2{margin:0 0 18px}.subject-nav button{text-align:left;color:#56727d;background:#f9fbfc;border:1px solid #e0e8ed;border-radius:13px;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;width:100%;margin-top:8px;padding:12px;display:grid}.subject-nav button>span{font-size:22px}.subject-nav button strong,.subject-nav button small{display:block}.subject-nav button small{color:#98a7ad;margin-top:2px;font-size:8px}.subject-nav button b{background:#e8edff;border-radius:99px;padding:3px 6px;font-size:9px}.subject-nav button.active{color:#4156b0;background:#f0f2ff;border-color:#bfc9f3}.subject-nav button:disabled{opacity:.55}.learning-main{min-width:0}.course-heading{color:#fff;background:linear-gradient(135deg,#5c54ca,#3c8cde);border-radius:25px;justify-content:space-between;align-items:center;gap:20px;padding:26px 29px;display:flex;box-shadow:0 16px 40px #385bb32c}.course-heading h1{margin:3px 0 6px;font-size:30px}.course-heading p:not(.portal-eyebrow){color:#e9edff;max-width:650px;margin:0;font-size:11px;line-height:1.7}.course-heading .portal-eyebrow{color:#ffe685}.course-stat{text-align:center;background:#ffffff17;border:1px solid #ffffff40;border-radius:18px;min-width:105px;padding:14px}.course-stat strong,.course-stat span{display:block}.course-stat strong{font-size:35px}.course-stat span{font-size:9px}.course-tabs{background:#ffffffc7;border:1px solid #dce8ed;border-radius:18px;grid-template-columns:repeat(2,minmax(0,220px));gap:7px;margin-bottom:14px;padding:6px;display:grid;box-shadow:0 8px 25px #2851790c}.course-tabs button{color:#607983;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:10px;padding:10px 13px;display:flex;position:relative}.course-tabs button>span{font-size:23px}.course-tabs strong,.course-tabs small{display:block}.course-tabs strong{font-size:12px}.course-tabs small{color:#93a3aa;margin-top:2px;font-size:8px}.course-tabs button.active{color:#4055ae;background:#eef1ff;box-shadow:inset 0 0 0 1px #c6cdf2}.course-tabs i{color:#fff;background:#ef6d79;border-radius:99px;margin-left:auto;padding:3px 7px;font-size:8px;font-style:normal}.phonics-heading{background:linear-gradient(135deg,#e87569,#eea33f);box-shadow:0 16px 40px #cf6d342b}.phonics-player-card{grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr)}.phonics-title>span{background:linear-gradient(145deg,#f07b67,#efaa46)}.phonics-description{color:#70858e;margin:18px 0 13px;font-size:11px;line-height:1.8}.sound-chips{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.sound-chips span{color:#9c5b33;background:#fff2df;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800}.phonics-actions button.primary{background:linear-gradient(135deg,#e87569,#eea33f)}.phonics-progress{color:#9b6233;background:#fff0d9;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800}.phonics-lesson{color:#67594f;text-align:left;background:#fffaf3;border:1px solid #efbd8b;border-radius:15px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:100%;margin-top:18px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #fff}.phonics-lesson>span{color:#fff;background:linear-gradient(145deg,#e87569,#eea33f);border-radius:13px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.phonics-lesson strong,.phonics-lesson small{display:block}.phonics-lesson strong{font-size:12px}.phonics-lesson small{color:#9a8c81;margin-top:4px;font-size:9px}.phonics-lesson i{color:#167768;background:#dff7ef;border-radius:99px;padding:5px 8px;font-size:8px;font-style:normal}.subject-nav button.math-subject.active{color:#06736a;background:#e5faf5;box-shadow:inset 0 0 0 1px #9edbd1}.math-heading{background:linear-gradient(135deg,#079b8b,#32b77e);box-shadow:0 16px 40px #168f762b}.math-player-card{grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr)}.math-title>span{background:linear-gradient(145deg,#079b8b,#3fc47f)}.math-description{color:#70858e;margin:18px 0 13px;font-size:11px;line-height:1.8}.math-concepts{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.math-concepts span{color:#176d61;background:#e7f8f3;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800}.math-actions button.primary{background:linear-gradient(135deg,#079b8b,#32b77e)}.math-progress{color:#176d61;background:#dcf6ed;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:800}.math-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.math-lesson{color:#516c68;text-align:left;background:#f7fcfa;border:1px solid #b9ded7;border-radius:15px;grid-template-columns:48px 1fr;align-items:center;gap:12px;width:100%;padding:14px;display:grid}.math-lesson.selected{background:#eaf9f5;border-color:#159e8a;box-shadow:0 8px 20px #159e8a20}.math-lesson>span{color:#fff;background:linear-gradient(145deg,#079b8b,#3fc47f);border-radius:13px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.math-lesson strong,.math-lesson small{display:block}.math-lesson strong{font-size:12px}.math-lesson small{color:#78908c;margin-top:4px;font-size:9px}.math-lesson i{color:#167768;background:#dff7ef;border-radius:99px;grid-column:2;justify-self:start;padding:5px 8px;font-size:8px;font-style:normal}.lesson-player-card{background:#fff;border:1px solid #dde8ec;border-radius:27px;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px;margin-top:20px;padding:18px;display:grid;box-shadow:0 15px 40px #28517912}.video-stage{background:#172840;border-radius:20px;min-height:330px;position:relative;overflow:hidden}.video-stage video{object-fit:contain;width:100%;height:100%;min-height:330px;display:block}.video-coming{text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%,#6374d8,#243453 72%);place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.video-coming>span{color:#3e4f86;background:#ffdc73;border:3px solid #fff5;border-radius:25px;place-items:center;width:90px;height:90px;font-size:58px;font-weight:900;display:grid;transform:rotate(-4deg)}.video-coming strong{margin-top:18px;font-size:16px}.video-coming p{color:#d8def6;font-size:9px;line-height:1.7}.video-coming code{color:#ffe58b}.lesson-info{align-self:center;padding:8px 8px 8px 0}.lesson-title{align-items:center;gap:13px;display:flex}.lesson-title>span{color:#fff;background:#665bd1;border-radius:16px;flex:none;place-items:center;width:55px;height:55px;font-size:29px;font-weight:900;display:grid}.lesson-title small{color:#899ba3;font-size:9px}.lesson-title h2{margin:3px 0;font-size:20px}.word-chips{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.word-chips span{color:#485f91;background:#eef2ff;border-radius:12px;padding:10px 13px;font-size:13px;font-weight:800}.word-chips b{color:#e65e6d;font-size:18px}.lesson-actions{grid-template-columns:1fr 1.2fr 1fr;gap:7px;display:grid}.lesson-actions button{color:#55717a;background:#fff;border:1px solid #dae5e9;border-radius:11px;padding:10px 7px;font-size:9px;font-weight:800}.lesson-actions button.primary{color:#fff;background:#645bd0;border:0}.lesson-actions button:disabled{opacity:.42}.lesson-library{background:#fff;border:1px solid #dde8ec;border-radius:27px;margin-top:20px;padding:25px;box-shadow:0 15px 40px #28517912}.lesson-library-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.lesson-library-head h2{margin:2px 0}.lesson-library-head label{background:#f8fbfc;border:1px solid #dce7eb;border-radius:11px;align-items:center;gap:6px;padding:8px 11px;display:flex}.lesson-library-head input{background:0 0;border:0;outline:0;width:150px;font-size:10px}.lesson-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:19px;display:grid}.lesson-grid button{text-align:left;color:#4b6671;background:#fafcfd;border:1px solid #e1e9ed;border-radius:14px;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;padding:11px;display:grid}.lesson-grid button>span{color:#fff;background:#7a70d9;border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:900;display:grid}.lesson-grid strong,.lesson-grid small{display:block}.lesson-grid strong{font-size:10px}.lesson-grid small{color:#91a1a7;margin-top:3px;font-size:8px}.lesson-grid i{color:#8a742d;background:#fff4cd;border-radius:99px;padding:4px 6px;font-size:8px;font-style:normal}.lesson-grid button.selected{background:#f1f0ff;border-color:#897ee1;box-shadow:inset 0 0 0 1px #897ee1}.lesson-empty{color:#87999f;text-align:center;padding:35px}.lesson-grid button.available i{color:#167768;background:#dff7ef}.lesson-grid button.available>span{background:linear-gradient(145deg,#26a990,#168b80)}@media (width<=1000px){.learning-shell{grid-template-columns:1fr}.subject-nav{grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:static}.subject-nav>p,.subject-nav>h2{grid-column:1/-1}.subject-nav button{margin:0}.lesson-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.portal-entries{grid-template-columns:1fr}.learning-shell{padding:15px 12px 45px}.subject-nav{grid-template-columns:1fr}.course-tabs{grid-template-columns:repeat(2,1fr)}.course-tabs button{padding:9px}.course-heading{padding:23px 20px}.course-heading h1{font-size:25px}.course-stat{display:none}.lesson-player-card{grid-template-columns:1fr;padding:12px}.video-stage,.video-stage video{min-height:220px}.lesson-info{padding:5px}.lesson-library{padding:20px 14px}.lesson-library-head{flex-direction:column;align-items:stretch}.lesson-library-head input{width:100%}.lesson-grid,.math-lesson-grid{grid-template-columns:1fr}.phonics-lesson{grid-template-columns:43px 1fr}.phonics-lesson>span{width:43px;height:43px}.phonics-lesson i{grid-column:2;justify-self:start}}.report-entry .entry-art{background:linear-gradient(145deg,#ffd567,#ff8d78 48%,#6ec9bd)}.report-entry-art{color:#fff;background:radial-gradient(circle at 25% 20%,#fff8,#0000 28%);place-content:center;justify-items:center;width:100%;height:100%;display:grid;position:relative}.report-entry-art b{filter:drop-shadow(0 10px 12px #8f4d4d35);font-size:66px}.report-entry-art i{color:#9d573f;background:#fff8e8;border-radius:99px;padding:7px 13px;font-size:11px;font-style:normal;font-weight:900;transform:rotate(-3deg)}.report-entry-art em{font-size:29px;font-style:normal;position:absolute;top:17px;right:20px}.report-page{color:#284f5c;background:linear-gradient(#fff8e8,#eefaf6 45%,#f5f2ff);min-height:100vh}.report-shell{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:22px;width:min(1240px,100% - 40px);margin:auto;padding:28px 0 70px;display:grid}.report-create-card,.report-preview-card,.report-history{background:#fff;border:1px solid #e1ebe6;border-radius:28px;padding:27px;box-shadow:0 15px 45px #3a6d6414}.report-create-card{position:sticky;top:18px}.report-create-card h1{color:#214f5d;margin:5px 0 8px;font-size:27px}.report-create-card>div:first-child>p:last-child{color:#819596;font-size:10px;line-height:1.7}.report-presets{grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0 13px;display:grid}.report-presets button{color:#36786f;background:#f7fbf9;border:1px solid #d9e7e2;border-radius:10px;padding:9px 5px;font-size:10px;font-weight:800}.report-date-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.report-date-row>span{color:#e79763;padding-bottom:13px}.report-date-row label,.report-writing{color:#607d80;gap:6px;font-size:9px;font-weight:900;display:grid}.report-date-row input,.report-writing textarea{color:#345c65;width:100%;font:inherit;background:#f9fcfb;border:1px solid #d8e7e2;border-radius:11px;outline:0;padding:10px}.report-writing{margin-top:13px}.report-writing textarea{resize:vertical;min-height:72px;font-size:10px;font-weight:500;line-height:1.6}.report-generate{color:#fff;background:linear-gradient(135deg,#f0836d,#d9608c);border:0;border-radius:13px;width:100%;margin-top:17px;padding:13px;font-weight:900;box-shadow:0 10px 24px #dc6f7740}.report-generate:disabled{opacity:.55}.report-notice{color:#6c744e;background:#fff5d4;border-radius:10px;margin:12px 0 0;padding:10px;font-size:9px;line-height:1.5}.report-section-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.report-section-head h2{margin:3px 0 0}.report-section-head>button{color:#fff;background:#26a08f;border:0;border-radius:11px;padding:9px 12px;font-size:10px;font-weight:900}.report-section-head>span{color:#8c6531;background:#fff2cd;border-radius:99px;padding:6px 10px;font-size:9px;font-weight:900}.growth-report-canvas{border-radius:22px;width:min(100%,600px);height:auto;margin:auto;display:block;box-shadow:0 15px 45px #325f5d22}.report-empty{text-align:center;color:#849b98;background:#fafcfb;border:1px dashed #d5e4de;border-radius:20px;place-content:center;justify-items:center;min-height:250px;font-size:11px;line-height:1.8;display:grid}.report-empty>span{font-size:52px}.report-history{grid-column:1/-1}.report-history-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.report-history-grid button{text-align:left;color:#47676d;background:#fbfdfc;border:1px solid #e0ebe7;border-radius:15px;grid-template-columns:48px 1fr;align-items:center;gap:11px;padding:13px;display:grid}.report-history-grid button.selected{background:#fff7f3;border-color:#e28a79;box-shadow:inset 0 0 0 1px #e28a79}.report-history-grid button>span{background:#fff1c9;border-radius:14px;place-items:center;width:48px;height:48px;font-size:27px;display:grid}.report-history-grid strong,.report-history-grid small,.report-history-grid em{display:block}.report-history-grid strong{color:#315863;font-size:11px}.report-history-grid small{color:#93a3a3;margin-top:3px;font-size:8px}.report-history-grid em{color:#71898b;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:8px;font-style:normal;overflow:hidden}.report-save-modal{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#173a46c7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.report-save-modal>div{text-align:center;background:#fff;border-radius:22px;width:min(680px,100%);max-height:94vh;padding:22px 14px 16px;position:relative;overflow:auto}.report-save-modal h2{color:#285563;margin:4px 45px 5px;font-size:20px}.report-save-modal p{color:#728b8f;margin:0 20px 14px;font-size:11px;line-height:1.6}.report-save-modal button{z-index:1;float:right;color:#fff;background:#e27b69;border:0;border-radius:10px;padding:8px 12px;font-weight:800;position:sticky;top:0}.report-save-modal img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;border-radius:14px;width:100%;height:auto;display:block}@media (width<=900px){.report-shell{grid-template-columns:1fr}.report-create-card{position:static}.report-history{grid-column:auto}.report-history-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.report-shell{width:calc(100% - 24px);padding-top:14px}.report-create-card,.report-preview-card,.report-history{border-radius:21px;padding:19px 14px}.report-date-row{grid-template-columns:1fr}.report-date-row>span{display:none}.report-history-grid{grid-template-columns:1fr}.report-section-head{align-items:flex-end}.growth-report-canvas{border-radius:15px}}.first-entry .entry-art{background:linear-gradient(145deg,#f5b64d,#f27969 58%,#bf68a6)}.first-entry-art{color:#fff;background:radial-gradient(circle at 26% 18%,#fff7,#0000 30%);place-content:center;justify-items:center;width:100%;height:100%;display:grid;position:relative}.first-entry-art b{filter:drop-shadow(0 12px 14px #7e3e4938);font-size:70px}.first-entry-art i{color:#a25447;letter-spacing:.08em;background:#fff6dc;border-radius:99px;padding:6px 12px;font-size:10px;font-style:normal;font-weight:900}.first-entry-art em{font-size:30px;font-style:normal;position:absolute;top:17px;right:20px}.first-page{color:#284f5c;background:linear-gradient(#fff6df,#f3faf5 48%,#f8f1ff);min-height:100vh}.first-shell{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:23px;width:min(1160px,100% - 40px);margin:auto;padding:30px 0 70px;display:grid}.first-create-card,.first-book{background:#fff;border:1px solid #e3ebe6;border-radius:28px;padding:28px;box-shadow:0 16px 45px #386b6114}.first-create-card{position:sticky;top:20px}.first-heading h1{color:#285563;margin:5px 0 8px;font-size:28px}.first-heading>p:last-child{color:#819697;font-size:10px;line-height:1.7}.first-recorder{color:#b95f4a;cursor:pointer;width:100%;min-height:145px;font:inherit;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#fff9dd,#fff0e9);border:2px dashed #ef9b76;border-radius:25px;place-content:center;justify-items:center;margin:20px 0;padding:0;display:grid;position:relative;overflow:hidden}.first-recorder i{color:#fff;background:linear-gradient(145deg,#f18a66,#db5d7d);border-radius:50%;place-items:center;width:62px;height:62px;font-size:29px;font-style:normal;display:grid;box-shadow:0 10px 25px #db6e7142}.first-recorder strong{margin-top:10px;font-size:12px}.first-recorder small{color:#aa8580;margin-top:4px;font-size:9px}.first-recorder.listening{background:radial-gradient(circle,#fff3d3,#ffe0df);border-style:solid}.first-recorder.listening i,.first-recorder.transcribing i{animation:1s infinite pulse}.first-form-grid{grid-template-columns:120px 1fr;gap:10px;display:grid}.first-form-grid label,.first-text{color:#5a797e;gap:6px;font-size:9px;font-weight:900;display:grid}.first-form-grid input,.first-text textarea{color:#345c65;width:100%;font:inherit;background:#f9fcfb;border:1px solid #d8e7e2;border-radius:11px;outline:0;padding:10px}.first-text{margin-top:13px;position:relative}.first-text textarea{resize:vertical;min-height:128px;font-size:10px;font-weight:500;line-height:1.7}.first-text small{color:#99aaa8;position:absolute;bottom:7px;right:9px}.first-save{color:#fff;background:linear-gradient(135deg,#e99a46,#e05e77);border:0;border-radius:13px;width:100%;margin-top:15px;padding:13px;font-weight:900;box-shadow:0 10px 24px #dc776e3d}.first-save:disabled{opacity:.5}.first-book .section-heading>span{color:#a16632;background:#fff1cb;border-radius:99px;padding:7px 10px;font-size:9px;font-weight:900}.first-list{gap:13px;display:grid}.first-list article{background:#fbfdfc;border:1px solid #e2ebe7;border-radius:20px;grid-template-columns:72px 48px 1fr auto;align-items:center;gap:13px;min-height:115px;padding:16px;display:grid;position:relative}.first-list time{text-align:center}.first-list time b,.first-list time small{display:block}.first-list time b{color:#de7658;font-size:13px}.first-list time small{color:#94a3a2;margin-top:4px;font-size:9px}.first-medal{background:#fff0c8;border-radius:15px;place-items:center;width:48px;height:48px;font-size:28px;display:grid}.first-list h3{color:#315963;margin:0 0 6px;font-size:15px}.first-list p{color:#71898c;margin:0;font-size:10px;line-height:1.7}.first-list article>button{color:#b76558;background:#fff8f6;border:1px solid #f0d7d2;border-radius:8px;padding:6px 8px;font-size:8px}.first-cancel{color:#97675e;background:#fffaf8;border:1px solid #e5d5cf;border-radius:12px;width:100%;margin-top:8px;padding:10px;font-weight:800}.first-list article.editing{border-color:#ed9b72;box-shadow:0 0 0 3px #f7bb8c25}.first-actions{gap:6px;display:grid}.first-actions button{color:#477681;background:#f7fcfa;border:1px solid #d8e7e2;border-radius:8px;padding:6px 9px;font-size:8px}.first-actions button:last-child{color:#b76558;background:#fff8f6;border-color:#f0d7d2}@media (width<=850px){.first-shell{grid-template-columns:1fr}.first-create-card{position:static}}@media (width<=600px){.first-shell{width:calc(100% - 24px);padding-top:14px}.first-create-card,.first-book{border-radius:21px;padding:20px 15px}.first-form-grid{grid-template-columns:1fr}.first-list article{grid-template-columns:62px 42px 1fr}.first-actions{grid-column:3;grid-auto-flow:column;justify-self:start}.first-medal{width:42px;height:42px;font-size:24px}}.access-gate-layout{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #ffffffd6;border-radius:38px;grid-template-columns:1.08fr .92fr;width:min(960px,100% - 32px);min-height:570px;display:grid;overflow:hidden;box-shadow:0 30px 90px #285f5b29}.access-gate-art{background:#dcefe3;min-width:0;position:relative;overflow:hidden}.access-gate-art img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.access-gate-art:after{content:"";background:linear-gradient(#0000 58%,#164c456b);position:absolute;inset:0}.access-gate-art span{z-index:1;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#174f4778;border:1px solid #ffffff70;border-radius:99px;padding:9px 14px;font-size:12px;font-weight:900;position:absolute;bottom:25px;left:28px}.access-gate-layout .gate-card{width:100%;min-height:100%;box-shadow:none;background:0 0;border-radius:0;justify-content:center;padding:54px 44px}.access-gate-layout .gate-card h1{font-size:32px;line-height:1.25}.growth-portal{background:radial-gradient(circle at 12% 8%,#fff6d7 0,#0000 25%),radial-gradient(circle at 88% 18%,#d9f5eb 0,#0000 28%),linear-gradient(#f4fcf8 0,#fff9e9 58%,#fff 100%)}.portal-hero{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffcf;border-radius:42px;grid-template-columns:.9fr 1.1fr;gap:42px;min-height:390px;margin:8px auto 34px;padding:42px 50px;box-shadow:0 28px 80px #286d6420}.portal-copy h1{font-size:clamp(42px,4.7vw,62px)}.portal-copy h1 em{color:#f17857}.portal-copy>p:not(.portal-eyebrow){line-height:1.85}.portal-visual{min-height:320px;transform:rotate(1deg)}.portal-visual img{object-position:58% center;height:320px}.visual-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-color:#ffffffc7;padding:9px 13px}.portal-entries .record-entry{background:linear-gradient(135deg,#fff,#fff9ed);grid-column:1/-1;grid-template-rows:none;grid-template-columns:42% 58%;min-height:250px}.portal-entries .record-entry .entry-art>img{min-height:250px}.portal-entries .record-entry .entry-copy{padding:36px}.portal-entries .record-entry .entry-copy>strong{font-size:31px}@media (width<=700px){.access-gate-layout{border-radius:28px;grid-template-columns:1fr;width:min(470px,100% - 24px);min-height:0}.access-gate-art{height:220px}.access-gate-art img{object-position:center 58%}.access-gate-art span{bottom:15px;left:18px}.access-gate-layout .gate-card{padding:30px 24px}.access-gate-layout .gate-card h1{font-size:27px}.portal-hero{border-radius:30px;margin:0 12px 25px;padding:28px 20px 20px}.portal-visual,.portal-visual img{height:230px;min-height:230px}.portal-entries .record-entry{grid-column:auto;grid-template-columns:42% 58%;min-height:190px}.portal-entries .record-entry .entry-art>img{min-height:190px}.portal-entries .record-entry .entry-copy{padding:22px 18px}.portal-entries .record-entry .entry-copy>strong{font-size:22px}}.goal-deadline-picker{background:#f8fcfa;border:1px solid #dce9e5;border-radius:14px;gap:9px;margin-top:13px;padding:12px;display:grid}.goal-deadline-picker>span{color:#385d67;font-size:11px;font-weight:900}.goal-deadline-picker>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.goal-deadline-picker button{color:#5c777b;background:#fff;border:1px solid #d4e5df;border-radius:10px;padding:9px;font-weight:800}.goal-deadline-picker button.selected{color:#14786f;background:#e9f8f3;border-color:#65beaf;box-shadow:inset 0 0 0 1px #65beaf}.goal-deadline-picker input{color:#315964;background:#fff;border:1px solid #d4e5df;border-radius:10px;width:100%;padding:10px}.modal-deadline{margin-top:20px}.goal-item.missed{background:#fff8f5;border-color:#efc8bf}.goal-item.missed .goal-check{color:#fff;background:#e07b67}.goal-missed-note{font-weight:800;color:#bd5f50!important}.missed-heading{border-top-color:#efd4cc}.site-registration{text-align:center;background:#f7fbf9;padding:18px 16px}.site-registration a{color:#607b7a;font-size:14px;line-height:1.6;text-decoration:none}.site-registration a:hover{color:#247d70;text-decoration:underline}.site-registration a:focus-visible{outline-offset:5px;border-radius:3px;outline:2px solid #247d70}.weekly-entry .entry-art{background:linear-gradient(145deg,#28a38d,#58bfa1 55%,#f4c75e)}.weekly-entry-art{background:radial-gradient(circle at 24% 20%,#fff6,#0000 30%);justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex;position:relative}.weekly-entry-art b{color:#247063;background:#fff9dc;border-radius:13px;place-items:center;width:48px;height:58px;font-size:20px;display:grid;box-shadow:0 10px 22px #176a5738}.weekly-entry-art b:nth-child(2){background:#fff;transform:translateY(-9px)}.weekly-entry-art i{color:#fff;background:#ef806a;border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;font-style:normal;display:grid;position:absolute;top:15px;right:18px}.weekly-page{color:#28545d;background:linear-gradient(#eaf9f3,#fff9e9 62%,#fff);min-height:100vh}.weekly-shell{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:22px;width:min(1220px,100% - 40px);margin:auto;padding:28px 0 70px;display:grid}.weekly-editor,.weekly-dashboard{background:#fff;border:1px solid #dceae4;border-radius:27px;padding:28px;box-shadow:0 16px 45px #326c6014}.weekly-editor{position:sticky;top:20px}.weekly-editor h1{margin:5px 0 8px;font-size:26px}.weekly-editor>p:not(.portal-eyebrow){color:#789092;margin:0 0 18px;font-size:14px;line-height:1.7}.weekly-editor>label,.weekly-target-row label{color:#4f7176;gap:6px;margin-top:12px;font-size:14px;font-weight:800;display:grid}.weekly-editor input,.weekly-editor select{color:#315963;width:100%;min-height:44px;font:inherit;background:#f8fcfa;border:1px solid #d5e5df;border-radius:11px;outline:0;padding:10px 11px}.weekly-editor label small{color:#899e9e;font-size:12px;font-weight:500;line-height:1.5}.weekly-target-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.weekly-editor-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.weekly-editor-actions button{color:#557579;background:#fff;border:1px solid #d4e4df;border-radius:11px;padding:11px 14px;font-weight:800}.weekly-editor-actions .primary{color:#fff;background:linear-gradient(135deg,#249c89,#57b99a);border:0}.weekly-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.weekly-heading h2{margin:4px 0;font-size:27px}.weekly-heading>div>span{color:#7e9595;font-size:14px}.weekly-ring{text-align:center;border:9px solid #dff3eb;border-top-color:#31aa91;border-radius:50%;flex:none;place-content:center;width:92px;height:92px;display:grid}.weekly-ring strong,.weekly-ring small{display:block}.weekly-ring strong{font-size:22px}.weekly-ring small{color:#7b9292;margin-top:2px;font-size:11px}.weekly-list{gap:12px;margin-top:22px;display:grid}.weekly-list article{background:#fbfdfc;border:1px solid #dfeae6;border-radius:18px;padding:17px}.weekly-list article.met{background:#f4fcf8;border-color:#9bd4c6}.weekly-list article.exceeded{background:#fffbeb;border-color:#efc66a}.weekly-item-top{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.weekly-item-top>span{background:#e9f6f1;border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.weekly-item-top small{color:#829797;font-size:12px}.weekly-item-top h3{margin:3px 0 0;font-size:16px}.weekly-item-top>b{color:#7e6527;background:#fff1c7;border-radius:99px;padding:5px 8px;font-size:12px}.weekly-list article.short .weekly-item-top>b{color:#557b79;background:#e7f3ef}.weekly-progress{background:#e5eeeb;border-radius:99px;height:9px;margin:15px 0 10px;overflow:hidden}.weekly-progress i{border-radius:inherit;background:linear-gradient(90deg,#2ba991,#62c5a3);height:100%;transition:width .3s;display:block}.weekly-list article.exceeded .weekly-progress i{background:linear-gradient(90deg,#ef9d43,#f0c04f)}.weekly-numbers{justify-content:space-between;align-items:end;gap:12px;display:flex}.weekly-numbers strong{font-size:24px}.weekly-numbers strong small{color:#688483;margin-left:3px;font-size:12px}.weekly-numbers>span{color:#789190;font-size:12px}.weekly-manage{gap:6px;margin-top:12px;display:flex}.weekly-manage button{color:#347c73;background:#fff;border:1px solid #d6e5e0;border-radius:8px;padding:6px 9px;font-size:12px}.weekly-manage button.danger{color:#b85f53;border-color:#efd6d0}.weekly-empty{text-align:center;color:#7f9997;background:#fbfdfc;border:1px dashed #cfe3dc;border-radius:18px;place-content:center;justify-items:center;min-height:180px;margin-top:20px;display:grid}.weekly-empty>span{font-size:40px}.weekly-empty strong{margin-top:9px}.weekly-empty p{font-size:13px}.weekly-history-toggle{color:#397b74;background:#f7fbf9;border:1px solid #d8e7e2;border-radius:11px;width:100%;margin-top:18px;padding:11px;font-weight:800}.weekly-history{gap:7px;margin-top:10px;display:grid}.weekly-history article{border:1px solid #e1ebe7;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.weekly-history strong,.weekly-history small{display:block}.weekly-history strong{font-size:13px}.weekly-history small,.weekly-history span{color:#7c9292;font-size:12px}.weekly-history span.short{color:#ba6257}@media (width<=850px){.weekly-shell{grid-template-columns:1fr}.weekly-editor{position:static}}@media (width<=600px){.weekly-shell{width:calc(100% - 24px);padding-top:14px}.weekly-editor,.weekly-dashboard{border-radius:21px;padding:20px 15px}.weekly-heading h2{font-size:23px}.weekly-ring{border-width:7px;width:78px;height:78px}.weekly-item-top{grid-template-columns:38px minmax(0,1fr)}.weekly-item-top>span{width:38px;height:38px}.weekly-item-top>b{grid-column:2;justify-self:start}.weekly-numbers{flex-direction:column;align-items:start}.weekly-history article{grid-template-columns:1fr 1fr}.weekly-history article>div{grid-column:1/-1}.weekly-target-row{grid-template-columns:1fr 1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
