/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.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,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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}.blur{--tw-blur:blur(8px);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,)}}:root{--paper:#faf7ec;--card:#fffdf5;--ink:#0d274a;--muted:#6d7580;--accent:#ed9b54;--accent-soft:#fff0de;--aqua:#dcefed;--danger:#b8333b;--border-soft:#b9b8b0}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--paper);margin:0;font-family:Hiragino Sans,Yu Gothic,system-ui,sans-serif}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:2px;outline:3px solid #ed9b5485}html[data-session-checking=true] .app-shell{visibility:hidden}.app-shell{width:min(100% - 32px,448px);min-height:100vh;margin:0 auto;padding:24px 0 56px}.app-shell.is-secret-color-inverted{background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);filter:invert();clip-path:inset(0 -100vmax)}.center-page{flex-direction:column;justify-content:center;min-height:100vh;padding-top:40px;padding-bottom:60px;display:flex}.brand-block{text-align:center;margin-bottom:30px}.brand-title{width:fit-content;margin:0 auto;position:relative}.brand-block h1{letter-spacing:.12em;margin:8px 0 6px;font-size:clamp(27px,8vw,34px);line-height:1.25}.brand-secret-button{opacity:0;cursor:pointer;background:0 0;border:0;width:38px;height:100%;position:absolute;top:0;left:100%}.brand-secret-button:focus-visible{opacity:.08;outline:2px dashed var(--ink);outline-offset:2px}.brand-block h1:last-child{margin-bottom:0}.brand-block>p:last-child{color:var(--muted);margin:0;font-size:14px;font-weight:700}.admin-preview-label{border:1.5px solid var(--ink);background:var(--aqua);width:fit-content;color:var(--ink);border-radius:999px;align-items:center;gap:7px;margin:-10px auto 13px;padding:6px 12px;font-size:12px;font-weight:900;display:flex}.admin-preview-label svg{width:15px}.eyebrow{color:var(--muted);letter-spacing:.22em;margin:0;font-size:11px;font-weight:900}.paper-card{border:2px solid var(--ink);background:#fffdf5f5;border-radius:9px;padding:18px;position:relative;box-shadow:4px 4px #0d274ae6}.page-header{grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:20px;display:grid}.page-header h1{letter-spacing:.06em;margin:0;font-size:21px}.page-header-title-button{color:var(--ink);font:inherit;font-weight:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:8px 4px}.point-word-puzzle{justify-content:center;align-items:center;display:inline-flex}.point-word-puzzle button,.point-word-puzzle span{place-items:center;min-width:.9em;display:inline-grid}.point-word-puzzle button{transform:translateX(var(--point-letter-offset,0));color:inherit;font:inherit;touch-action:none;cursor:grab;background:0 0;border:0;padding:0;transition:transform .16s,color .16s}.point-word-puzzle button.is-dragging{z-index:1;color:var(--accent);cursor:grabbing;transition:none}.point-word-puzzle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.point-word-puzzle.is-solved span:first-child,.point-word-puzzle.is-solved span:nth-child(2){animation:.24s both point-word-settle}@keyframes point-word-settle{0%{color:var(--accent);transform:scale(1.25)}to{color:inherit;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.point-word-puzzle button{transition:none}.point-word-puzzle.is-solved span{animation:none}}.header-action{justify-content:flex-end;display:flex}.header-action svg{width:20px}.icon-button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;place-items:center;width:42px;height:38px;display:grid}.icon-button svg{width:18px}.icon-button.small{width:38px;height:36px}.primary-button,.secondary-button{border:2px solid var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:56px;font-weight:900;transition:transform .12s;display:flex}.primary-button{background:var(--ink);color:#fff;margin-top:16px;font-size:17px}.primary-button:disabled{cursor:not-allowed;opacity:.42}.secondary-button{background:0 0}.primary-button svg,.secondary-button svg{width:19px}.primary-button:active,.secondary-button:active,.menu-button:active,.quick-menu-button:active,.choice-list button:active{transform:translateY(2px)}.divider{background:#0d274a2e;height:4px;margin:22px 0}.hint{text-align:center;color:var(--muted);margin:31px 0 0;font-size:11px}.error{color:var(--danger);margin:8px 0 -4px;font-size:13px;font-weight:900}.login-lock-message{width:66.666%;min-width:210px;max-width:280px;color:var(--danger);justify-content:center;align-items:center;gap:7px;margin:10px auto 0;font-size:14px;font-weight:900;display:flex}.login-lock-message svg{width:17px;height:17px}.login-card input:disabled{color:var(--muted);cursor:not-allowed;background:#e7e8e8}.save-error{width:66.666%;min-width:210px;max-width:280px;color:var(--danger);margin:10px auto 0;font-size:12px;font-weight:900;line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.daily-point-button{z-index:50;right:max(14px,50vw - 210px);bottom:max(80px,calc(env(safe-area-inset-bottom) + 70px));border:2px solid var(--ink);background:var(--card);width:46px;height:46px;box-shadow:3px 3px 0 var(--accent);color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid;position:fixed}.daily-point-button:active{box-shadow:1px 1px 0 var(--accent);transform:translate(2px,2px)}.daily-point-button:disabled{opacity:.6;cursor:wait}.daily-point-notice{z-index:51;right:max(14px,50vw - 210px);bottom:max(138px,calc(env(safe-area-inset-bottom) + 128px));border:2px solid var(--ink);background:var(--card);max-width:min(280px,100vw - 28px);box-shadow:3px 3px 0 var(--accent);color:var(--ink);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:900;position:fixed}.login-card label,.input-label,.admin-form label,.admin-filters label{color:var(--ink);gap:7px;font-size:13px;font-weight:900;display:grid}.login-card input,.admin-form input,.admin-form select,.admin-filters select,.number-input,.search-box input{border:2px solid var(--ink);background:var(--card);width:100%;min-height:50px;color:var(--ink);border-radius:7px;padding:0 13px}.login-card .credential-username{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;min-width:0;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-menu{gap:13px;display:grid;position:relative}.home-game-secret-button{z-index:2;opacity:0;cursor:pointer;background:0 0;border:0;width:16.667%;height:78px;position:absolute;top:20px;left:20px}.home-game-secret-button.is-right{left:auto;right:20px}.home-game-secret-button:focus-visible{opacity:.08;outline:2px dashed var(--ink);outline-offset:2px}.menu-button{border:2px solid var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:44px 1fr 22px;align-items:center;gap:13px;min-height:78px;padding:12px 14px;display:grid;position:relative}.menu-button>svg:first-child{stroke-width:2px;width:29px;height:29px}.menu-button span{font-size:17px;font-weight:900}.menu-button .menu-arrow{grid-column:3;width:18px}.menu-button.is-primary{background:var(--ink);color:#fff}.menu-button.is-text-only{text-align:center;justify-content:center;display:flex}.quick-menu-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-menu-button{aspect-ratio:1;border:2px solid var(--ink);background:var(--card);color:inherit;cursor:pointer;border-radius:8px;place-items:center;text-decoration:none;transition:transform .12s;display:grid}.quick-menu-button.is-placeholder{cursor:default}.quick-menu-button svg{stroke-width:2px;width:32px;height:32px}.quick-menu-button .home-icon-midweight,svg[viewBox="0 0 256 256"]{stroke:currentColor;stroke-width:4px;stroke-linejoin:round}.quick-menu-button:disabled{cursor:default;opacity:.62}.quick-menu-button.is-active{background:var(--ink);color:#fff}.quick-menu-button.is-active svg{fill:currentColor}.quick-menu-button.is-secret-filled{background:var(--ink);color:#fff}.quick-menu-button.is-secret-filled svg{fill:currentColor}.quick-menu-button.is-secret-inverted svg{transform:rotate(180deg)}.quick-menu-button.is-secret-falling{z-index:3;pointer-events:none;will-change:transform;animation:1.25s cubic-bezier(.52,.02,.92,.42) forwards secret-button-fall;position:relative}.quick-menu-button.is-secret-falling.is-comment{animation-delay:.1s}.quick-menu-button.is-secret-falling.is-gift{animation-delay:.24s}.quick-menu-button.is-secret-fallen{visibility:hidden;pointer-events:none}@keyframes secret-button-fall{0%{opacity:1;transform:translateY(0)rotate(0)}14%{transform:translateY(-5px)rotate(-1deg)}to{opacity:1;transform:translateY(calc(100vh + 120px))rotate(14deg)}}@media (prefers-reduced-motion:reduce){.quick-menu-button.is-secret-falling{animation-duration:1ms;animation-delay:0s}}.logout-button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.logout-button svg{width:16px}.trial-chart-card{gap:18px;display:grid}.trial-cost-secret-button{opacity:0;cursor:pointer;background:0 0;border:0;width:44px;height:40px}.trial-cost-secret-button:focus-visible{opacity:.08;outline:2px dashed var(--ink);outline-offset:2px}.trial-chart-selectors{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);align-items:end;gap:10px;display:grid}.trial-chart-tool-picker{color:var(--ink);gap:7px;font-size:13px;font-weight:900;display:grid}.trial-chart-tool-picker select{border:2px solid var(--ink);background:var(--card);width:100%;min-height:50px;color:var(--ink);border-radius:7px;padding:0 12px;font-weight:800}.trial-chart-stage-picker{text-align:right}.trial-chart-stage-picker select{padding-left:6px;padding-right:6px}.trial-chart-heading{background:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:12px;min-height:104px;display:flex}@supports (color:color-mix(in lab, red, red)){.trial-chart-heading{background:color-mix(in srgb,var(--ink) 8%,var(--card))}}.trial-chart-heading{text-align:center}.trial-chart-heading .tool-glyph{flex:none}.trial-chart-heading span{gap:4px;display:grid}.trial-chart-heading strong{letter-spacing:.05em;font-size:20px}.trial-chart-heading small{color:var(--copper);letter-spacing:.14em;font-size:12px;font-weight:900}.trial-chart-grid{gap:10px;display:grid}.trial-chart-row{grid-template-columns:62px repeat(3,minmax(0,1fr));align-items:stretch;gap:7px;display:grid}.trial-chart-row.is-boss{margin-top:31px}.trial-chart-level-label{text-align:center;place-items:center;min-width:0;font-size:13px;display:grid}.trial-chart-card .trial-chart-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 30px;position:relative}.trial-chart-card .trial-chart-level-label{width:38px;position:absolute;top:0;bottom:0;left:-8px}.trial-chart-skill-card{border:2px solid var(--ink);background:var(--ink);border-radius:8px;place-items:center;min-width:0;height:82px;display:grid}@supports (color:color-mix(in lab, red, red)){.trial-chart-skill-card{background:color-mix(in srgb,var(--ink) 7%,var(--card))}}.trial-chart-skill-card{color:var(--ink);text-align:center;white-space:pre-line;overflow-wrap:anywhere;padding:5px;font-size:12px;font-weight:900;line-height:1.35}.trial-chart-skill-card.is-empty{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.trial-chart-skill-card.is-empty{color:color-mix(in srgb,var(--muted) 55%,transparent)}}button.trial-chart-skill-card{cursor:pointer;transition:background-color .16s,border-color .16s,box-shadow .16s}button.trial-chart-skill-card:disabled{cursor:default}button.trial-chart-skill-card:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.trial-chart-skill-card.is-completed{color:#463713;background:#fff0a6;border-color:#bb850e;box-shadow:0 0 0 2px #e9b52d33,0 0 17px #e9b52d99,inset 0 0 15px #ffffffa6}.trial-chart-reset{min-height:44px}.trial-chart-note{color:var(--muted);text-align:center;margin:0;font-size:11px;font-weight:800;line-height:1.7}.admin-trial-chart{gap:14px;margin-bottom:14px;display:grid}.admin-trial-chart .trial-chart-grid{margin-top:2px}.admin-trial-chart .trial-chart-skill-select{min-width:0}.admin-trial-chart .trial-chart-skill-select textarea{border:2px solid var(--ink);background:var(--ink);border-radius:8px;width:100%;min-width:0;height:82px}@supports (color:color-mix(in lab, red, red)){.admin-trial-chart .trial-chart-skill-select textarea{background:color-mix(in srgb,var(--ink) 7%,var(--card))}}.admin-trial-chart .trial-chart-skill-select textarea{color:var(--ink);text-align:center;resize:none;padding:8px 6px;font-size:12px;font-weight:900;line-height:1.35}.trial-chart-add-tool{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.trial-chart-add-tool label{min-width:0}.trial-chart-add-tool input{border:2px solid var(--ink);background:var(--card);width:100%;min-height:46px;color:var(--ink);border-radius:7px;padding:0 11px}.trial-chart-add-tool button{border:2px solid var(--ink);background:var(--card);min-height:46px;color:var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-weight:900;display:flex}.trial-chart-add-tool button:disabled{cursor:default;opacity:.55}.trial-chart-add-tool button svg{width:17px}.trial-tool-order{border-top:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.trial-tool-order{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.trial-tool-order{padding-top:10px}.trial-tool-order summary{color:var(--ink);cursor:pointer;font-size:13px;font-weight:900}.trial-tool-order-list{gap:6px;margin-top:10px;display:grid}.trial-tool-order-row{border:1.5px solid var(--ink);grid-template-columns:42px 1fr;align-items:center;min-height:48px;display:grid}@supports (color:color-mix(in lab, red, red)){.trial-tool-order-row{border:1.5px solid color-mix(in srgb,var(--ink) 25%,transparent)}}.trial-tool-order-row{background:var(--card);border-radius:7px;transition:transform .16s,background .16s,box-shadow .16s}.trial-tool-order-row.is-dragging{z-index:2;background:var(--accent-soft);transform:scale(1.015);box-shadow:0 5px 12px #0d274a29}.trial-tool-order-row>span{padding-right:12px;font-size:14px;font-weight:900}.trial-tool-drag-handle{width:42px;height:48px;color:var(--muted);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:0 0;border:0;font-size:24px;line-height:1}.trial-tool-drag-handle:active{cursor:grabbing}.cost-table-card{padding-left:0;padding-right:0;overflow:hidden}.cost-table-card>header{border-bottom:2px solid var(--ink);color:var(--muted);letter-spacing:.03em;text-align:right;grid-template-columns:minmax(70px,1fr) 54px repeat(3,52px);gap:5px;padding:0 14px 12px;font-size:11px;display:grid}.cost-table-card>header strong:first-child{text-align:left}.cost-table-card>header button{width:100%;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:1px;padding:3px 0;display:inline-flex}.cost-table-card>header button svg{stroke-width:3px;flex:none;width:11px;height:11px}.cost-table-list{display:grid}.cost-table-list article{border-bottom:1px solid var(--ink);grid-template-columns:minmax(70px,1fr) 54px repeat(3,52px);align-items:center;gap:5px;min-height:66px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.cost-table-list article{border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.cost-table-list article:last-child{border-bottom:0}.cost-table-list span{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:900}.cost-table-list b{min-width:0;color:var(--ink);text-align:right;white-space:nowrap;font-size:15px}.cost-table-list b.cost-table-rating{color:var(--copper);letter-spacing:-.08em;text-align:center;font-size:10px}.cost-table-list b.cost-table-sale-price{color:var(--copper)}.cost-table-list b.is-profit{color:#267256}.cost-table-list b.is-profit.is-negative{color:var(--danger)}.cost-table-list b small{color:var(--muted);margin-left:1px;font-size:9px}.cost-table-empty{color:var(--muted);text-align:center;margin:0;padding:24px 16px;font-size:13px;font-weight:800}.admin-cost-table{gap:14px;display:grid}.admin-cost-table-head,.admin-cost-row{grid-template-columns:minmax(78px,1fr) 68px 58px 58px 36px;align-items:center;gap:6px;display:grid}.admin-cost-table-head{color:var(--muted);text-align:center;font-size:11px;font-weight:900}.admin-cost-table-head span:first-child{text-align:left}.admin-cost-row input{border:2px solid var(--ink);background:var(--card);width:100%;min-width:0;height:48px;color:var(--ink);text-align:right;border-radius:7px;padding:0 7px;font-size:12px;font-weight:800}.admin-cost-row input:first-child{text-align:left}.admin-cost-row select{border:2px solid var(--ink);background:var(--card);width:100%;min-width:0;height:48px;color:var(--copper);text-align:center;border-radius:7px;padding:0 4px;font-size:11px;font-weight:900}.admin-cost-row button{width:36px;height:36px;color:var(--danger);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.admin-cost-row button svg{width:18px}.admin-cost-profit{color:var(--muted);grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:-3px;font-size:11px;font-weight:800;display:flex}.admin-cost-profit b{color:#267256;text-align:right;min-width:74px;font-size:14px}.admin-cost-profit b.is-negative{color:var(--danger)}.admin-cost-add{justify-self:center}.sample-notice{border:1.5px solid var(--ink);background:var(--aqua);letter-spacing:.06em;border-radius:999px;width:fit-content;margin:-8px 0 13px auto;padding:5px 10px;font-size:11px;font-weight:900}.event-list{gap:12px;display:grid}.event-card{border:2px solid var(--ink);background:var(--card);border-radius:9px;position:relative;overflow:hidden;box-shadow:4px 4px #0d274ad1}.event-card:before{content:"";background:#7399c8;width:6px;position:absolute;inset:0 auto 0 0}.event-card.event-meetup:before{background:#4c9b87}.event-card.event-special:before{background:var(--accent)}.event-card.event-shoot:before{background:#a073b5}.event-card.is-next{color:var(--ink);box-shadow:4px 4px 0 var(--accent);background:#fff}.event-next-label{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin:12px 0 0 20px;padding:5px 10px;font-size:11px;font-weight:900;display:flex}.event-next-label svg{width:14px;height:14px}.event-summary{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:76px 1fr 20px;align-items:center;gap:12px;padding:15px 14px 15px 20px;display:grid}.event-summary time{border-right:1.5px solid #0d274a38;justify-items:center;padding-right:12px;display:grid}.is-next .event-summary time{border-right-color:#0d274a38}.event-summary time small{color:var(--muted);font-size:10px;font-weight:900}.is-next .event-summary time small{color:var(--muted)}.event-summary time strong{letter-spacing:-.03em;margin-top:1px;font-size:25px;line-height:1.1}.event-summary time strong i{margin:0 2px;font-size:16px;font-style:normal;font-weight:700}.event-summary time span{margin-top:4px;font-size:11px;font-weight:900}.event-heading{gap:5px;min-width:0;display:grid}.event-heading em{background:var(--aqua);width:fit-content;color:var(--ink);border-radius:999px;padding:3px 8px;font-size:10px;font-style:normal;font-weight:900}.event-special .event-heading em{background:var(--accent-soft)}.event-shoot .event-heading em{background:#eee3f4}.is-next .event-heading em{background:var(--accent)}.event-heading b{overflow-wrap:anywhere;font-size:16px;line-height:1.45}.event-summary>svg{width:18px;transition:transform .18s}.event-summary>svg.is-open{transform:rotate(90deg)}.event-detail{border-top:1.5px solid #0d274a33;gap:8px;margin:0 14px 14px 20px;padding:13px 4px 2px;display:grid}.is-next .event-detail{border-top-color:#0d274a33}.event-detail p{align-items:center;gap:8px;margin:0;font-size:13px;font-weight:900;display:flex}.event-detail p svg{color:#9a531c;flex:none;width:17px;height:17px}.is-next .event-detail p svg{color:var(--accent)}.event-detail>div{background:#0d274a0e;border-radius:7px;margin-top:3px;padding:11px 12px;font-size:13px;font-weight:700;line-height:1.75}.event-detail>.event-note{white-space:pre-wrap;overflow-wrap:anywhere}.is-next .event-detail>div{background:#ed9b5421}.event-footnote{color:var(--muted);text-align:center;margin:22px 0 0;font-size:11px;font-weight:800;line-height:1.7}.feedback-student{grid-template-columns:58px 1fr;align-items:center;gap:14px;margin-bottom:14px;display:grid}.feedback-student h2,.feedback-student p{margin:0}.feedback-student h2{letter-spacing:.06em;font-size:20px}.feedback-student p{color:var(--muted);margin-top:4px;font-size:11px;font-weight:900}.feedback-latest{margin-bottom:12px;overflow:hidden}.feedback-latest:before{background:var(--accent);content:"";width:6px;position:absolute;inset:0 auto 0 0}.feedback-latest>header{border-bottom:2px solid var(--ink);align-items:center;gap:11px;padding-bottom:13px;display:flex}.feedback-latest>header>span{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.feedback-latest>header svg{width:21px}.feedback-latest header p,.feedback-latest header h2{margin:0}.feedback-latest header p{color:var(--muted);letter-spacing:.15em;font-size:9px;font-weight:900}.feedback-latest header h2{margin-top:2px;font-size:18px}.feedback-latest .feedback-meta{margin-top:13px}.feedback-message{margin:15px 0 2px;font-size:15px;font-weight:700;line-height:1.9}.feedback-meta{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:900;display:flex}.feedback-meta svg{width:14px;height:14px}.feedback-list{gap:12px;display:grid}.feedback-list article{box-shadow:3px 3px #0d274abf}.feedback-list article p{margin:12px 0 0;font-size:13px;font-weight:700;line-height:1.8}.feedback-message,.feedback-list article p{white-space:pre-line}.feedback-empty{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;display:grid}.feedback-empty svg{width:34px;height:34px}.feedback-empty p{margin:0;font-size:14px;font-weight:900}.tuition-student{grid-template-columns:58px 1fr;align-items:center;gap:14px;margin-bottom:14px;display:grid}.tuition-student h2,.tuition-student p{margin:0}.tuition-student h2{letter-spacing:.06em;font-size:21px}.tuition-student p{color:var(--muted);letter-spacing:.08em;margin-top:4px;font-size:12px;font-weight:900}.tuition-year-tabs{scrollbar-width:none;gap:8px;margin:0 0 14px;padding:2px 2px 5px;display:flex;overflow-x:auto}.tuition-year-tabs::-webkit-scrollbar{display:none}.tuition-year-tabs button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:999px;min-width:78px;min-height:42px;font-size:14px;font-weight:900}.tuition-year-tabs button.is-current{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--accent)}.tuition-card{overflow:hidden}.tuition-card>header{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:14px;display:flex}.tuition-card>header>span{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.tuition-card>header svg{width:24px;height:24px}.tuition-card>header p,.tuition-card>header h2{margin:0}.tuition-card>header p{color:var(--muted);letter-spacing:.14em;font-size:10px;font-weight:900}.tuition-card>header h2{letter-spacing:.08em;margin-top:2px;font-size:21px}.tuition-months{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.tuition-month{background:#fffefa;border:2px solid #0d274a6b;border-radius:10px;grid-template-rows:auto 1fr;min-height:112px;padding:9px;display:grid}.tuition-month>p{color:var(--muted);margin:0;font-size:12px;font-weight:900}.tuition-month>p strong{color:var(--ink);margin-right:2px;font-size:18px}.tuition-mark{place-items:center;min-height:68px;display:grid}.paid-stamp{width:64px;height:64px;color:var(--danger);place-items:center;display:grid;position:relative;transform:rotate(-7deg)}.paid-stamp svg{stroke-width:1.7px;width:62px;height:62px;position:absolute}.paid-stamp b{font-size:19px;font-weight:900;position:relative}.leave-mark{border:2px solid var(--muted);width:52px;height:52px;color:var(--muted);border-radius:50%;place-items:center;font-size:20px;font-weight:900;display:grid}.partial-mark{border:2px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900}.tuition-card>footer{color:var(--muted);border-top:2px solid #0d274a29;flex-wrap:wrap;gap:9px 14px;margin-top:16px;padding-top:13px;font-size:11px;font-weight:900;display:flex}.tuition-card>footer span{align-items:center;gap:5px;display:flex}.tuition-card>footer i{border-radius:50%;width:10px;height:10px;display:block}.legend-paid{background:var(--danger)}.legend-leave{border:2px solid var(--muted)}.legend-partial{background:var(--accent)}.points-balance-flip{perspective:900px;margin-bottom:24px}.points-balance-flip:has(.points-balance-back.is-quarter-turned){margin-top:-10px;margin-bottom:121px}.points-balance-flip-inner{transform-style:preserve-3d;transition:transform 1.44s cubic-bezier(.2,.72,.2,1);display:grid}.points-balance-flip.is-flipped .points-balance-flip-inner{transform:rotateY(180deg)}.points-balance{background:var(--ink);color:#fff;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;grid-area:1/1;justify-items:center;min-height:160px;margin-bottom:0;display:grid;overflow:hidden}.points-balance-back{background:var(--card);color:var(--ink);align-content:stretch;padding:0;transition:transform .72s cubic-bezier(.2,.72,.2,1);transform:rotateY(180deg)}.points-balance-back.is-quarter-turned{box-shadow:none;background:0 0;border-color:#0000;align-content:center;top:55px;overflow:visible;transform:rotateY(180deg)rotate(90deg)scaleX(.53)scaleY(1.44)}.points-balance-back.is-quarter-turned:before{display:none}.points-card-puzzle{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:100%;min-height:170px;display:grid;position:relative}.points-card-letter{min-width:0;min-height:76px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:8px;font-size:30px;font-weight:900;transition:background .16s,color .16s,transform .12s;display:grid}.points-card-letter.is-top-left,.points-card-letter.is-bottom-left{border-right:1.5px solid #0d274a38}.points-card-letter.is-top-left,.points-card-letter.is-top-right{border-bottom:1.5px solid #0d274a38}.points-card-letter.is-entered{color:var(--accent);background:#be6f3c1f}.points-card-letter:active{transform:scale(.92)}.points-card-code{z-index:2;border:2px solid var(--ink);background:var(--ink);width:92px;height:30px;color:var(--card);letter-spacing:.22em;border-radius:999px;place-items:center;font-size:13px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.points-card-home-map{border:2px solid var(--ink);background:var(--card);transform-origin:50%;border-radius:9px;grid-template-columns:38px 1fr 38px;align-items:center;gap:22px;width:296px;margin:auto;padding:14px;display:grid;transform:rotate(-90deg)scaleX(.694)scaleY(1.887);box-shadow:4px 4px #0d274ae6}.points-card-home-map i{border:2px solid var(--ink);border-radius:6px;display:block}.points-card-side-column{grid-auto-rows:38px;gap:8px;display:grid}.points-card-side-column i{background:0 0;transition:background .18s}.points-card-side-column.is-failure i.is-filled{background:var(--accent)}.points-card-side-column.is-success i.is-filled{background:var(--ink)}.points-card-home-center{gap:9px;display:grid}.points-card-home-primary{height:50px}.points-card-home-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.points-home-pair-button{border:2px solid var(--ink);background:var(--card);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;width:100%;padding:0;transition:background .16s,transform .12s;display:block}.points-home-pair-button:active{transform:scale(.92)}.points-home-pair-button.is-selected{background:#be6f3c47}.points-home-pair-button.is-cleared{background:var(--ink)}.points-card-home-grid .points-home-pair-button{aspect-ratio:1}.points-puzzle-clear{transform-origin:50%;width:296px;height:178px;margin:auto;position:relative;overflow:visible;transform:rotate(-90deg)scaleX(.694)scaleY(1.887)}.points-puzzle-split{z-index:3;width:50%;animation:1s cubic-bezier(.52,.02,.88,.42) .18s both points-puzzle-split-away;display:block;position:absolute;top:0;bottom:0;overflow:hidden}.points-puzzle-split.is-left{--split-x:-78vw;--split-rotate:-13deg;border-radius:9px 0 0 9px;left:0}.points-puzzle-split.is-right{--split-x:78vw;--split-rotate:13deg;border-radius:0 9px 9px 0;right:0}.points-puzzle-split-map{width:296px;height:178px;margin:0;position:absolute;top:0;transform:none}.points-puzzle-split.is-left .points-puzzle-split-map{left:0}.points-puzzle-split.is-right .points-puzzle-split-map{left:-148px}.points-puzzle-clear-message{z-index:2;color:var(--ink);text-align:center;opacity:0;align-content:center;place-items:center;gap:8px;animation:.52s cubic-bezier(.18,.8,.22,1) .78s both points-puzzle-clear-message-in;display:grid;position:absolute;inset:0}.points-puzzle-clear-message>strong{letter-spacing:.12em;white-space:nowrap;font-size:24px;font-weight:900}.points-puzzle-reward-status{color:var(--muted);font-size:9px;font-weight:900;position:absolute;bottom:-2px;left:0;right:0}.points-puzzle-retry{width:max-content;color:var(--danger);cursor:pointer;background:0 0;border:0;border-bottom:1.5px solid;margin:auto;padding:2px 0;font-size:9px;font-weight:900;position:absolute;bottom:-7px;left:0;right:0}@keyframes points-puzzle-split-away{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translateX(var(--split-x)) rotate(var(--split-rotate))}}@keyframes points-puzzle-clear-message-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.points-balance:before{content:"";border:30px solid #ffffff0e;border-radius:50%;width:170px;height:170px;position:absolute;inset:-66px -54px auto auto}.points-mark{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff14;border:2px solid #ffffffb8;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:12px;transition:transform .14s,background .14s;display:grid}.points-mark:active,.points-mark.is-awake{background:#ffffff29;transform:scale(.9)}.points-mark:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.points-mark svg{width:29px;height:29px}.points-balance p{color:#ffffffb8;letter-spacing:.08em;margin:0;font-size:13px;font-weight:900}.points-balance>strong{letter-spacing:.02em;margin-top:5px;font-size:46px;line-height:1.15}.points-balance>strong span{color:var(--accent);margin-left:5px;font-size:22px}@media (prefers-reduced-motion:reduce){.points-balance-flip-inner{transition:none}.points-puzzle-split,.points-puzzle-clear-message{animation-duration:1ms;animation-delay:0s}}.points-history>h2{letter-spacing:.06em;margin:0 0 11px;font-size:16px}.points-history-list{gap:10px;display:grid}.points-history-list article{grid-template-columns:1fr auto;align-items:center;gap:14px;display:grid;box-shadow:3px 3px #0d274ab8}.points-history-main time{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.points-history-main time svg{width:14px;height:14px}.points-history-main h3{margin:6px 0 0;font-size:15px}.points-history-value{justify-items:end;gap:5px;display:grid}.points-history-value strong{letter-spacing:.02em;font-size:18px}.points-history-value strong.is-plus{color:#16734b}.points-history-value strong.is-minus{color:var(--danger)}.points-history-value small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:800}.points-history-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:9px;display:grid;box-shadow:3px 3px #0d274ab8}.points-history-empty svg{width:30px;height:30px}.points-history-empty p{margin:0;font-size:13px;font-weight:900}.ledger-list{padding-top:4px;padding-bottom:4px;box-shadow:3px 3px #0d274ab8}.ledger-list ul,.pay-statement-lines{margin:0;padding:0;list-style:none}.ledger-list li{border-bottom:1.5px solid #17345d33;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:9px 2px;display:flex}.ledger-list li:last-child{border-bottom:0}.ledger-list li>div{gap:3px;display:grid}.ledger-list li strong{font-size:14px}.ledger-list time{color:var(--muted);font-size:10px;font-weight:800}.ledger-list b{color:#16734b;font-size:18px}.ledger-list b.is-minus{color:var(--danger)}.secret-pay-page{animation:.55s cubic-bezier(.2,.8,.2,1) both secret-page-in}.secret-found{border:2px solid var(--ink);background:var(--ink);color:#fff;text-align:center;box-shadow:4px 4px 0 var(--accent);border-radius:9px;justify-items:center;margin-bottom:14px;padding:18px 16px;display:grid;position:relative;overflow:hidden}.secret-found:before,.secret-found:after{color:var(--accent);content:"✦";font-size:22px;animation:1.3s ease-in-out infinite alternate secret-spark;position:absolute}.secret-found:before{top:13px;left:22px}.secret-found:after{animation-delay:.35s;bottom:15px;right:24px}.secret-found>svg{width:25px;color:var(--accent);margin-bottom:5px}.secret-found p,.secret-found strong{margin:0}.secret-found p{color:#ffffffa6;letter-spacing:.2em;font-size:10px;font-weight:900}.secret-found strong{letter-spacing:.08em;margin-top:3px;font-size:16px}.pay-period-card{padding-top:18px}.pay-period-card>header{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:13px;display:flex}.pay-period-card>header>span{background:var(--accent-soft);color:#9a531c;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.pay-period-card>header svg{width:22px}.pay-period-card header p,.pay-period-card header h2{margin:0}.pay-period-card header p{color:var(--muted);letter-spacing:.15em;font-size:9px;font-weight:900}.pay-period-card header h2{margin-top:2px;font-size:19px}.pay-latest>header>span{background:var(--ink);color:#fff}.pay-period-date{margin-top:13px}.pay-history-list{gap:12px;display:grid}.pay-history-list .pay-period-card{box-shadow:3px 3px #0d274abf}.pay-statement-person{border-bottom:1.5px solid #17345d33;align-items:center;gap:10px;padding:15px 0;display:flex}.pay-statement-person>div:last-child{display:grid}.pay-statement-person strong{font-size:15px}.pay-statement-person small{color:var(--muted);font-size:10px;font-weight:800}.pay-statement-empty{min-height:135px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.pay-statement-empty svg{width:28px}.pay-statement-empty p{margin:0;font-size:13px;font-weight:900}.pay-statement-lines{padding:8px 0}.pay-statement-lines li{border-bottom:1.5px solid #17345d33;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 2px;display:flex}.pay-statement-lines li:last-child{border-bottom:0}.pay-statement-lines span{font-size:13px;font-weight:900}.pay-statement-lines strong{font-size:16px}.pay-period-card>footer{border-top:3px double var(--ink);justify-content:space-between;align-items:flex-end;padding-top:14px;display:flex}.pay-period-card>footer>span{color:var(--muted);font-size:12px;font-weight:900}.pay-period-card>footer>strong{font-size:31px;line-height:1}.pay-period-card>footer small{margin-left:4px;font-size:13px}@keyframes secret-page-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes secret-spark{0%{opacity:.35;transform:scale(.8)rotate(-12deg)}to{opacity:1;transform:scale(1.18)rotate(10deg)}}@media (prefers-reduced-motion:reduce){.secret-pay-page,.secret-found:before,.secret-found:after{animation:none}}.student-hero{grid-template-columns:58px 1fr auto;align-items:center;gap:14px;margin-bottom:16px;display:grid}.student-hero-reveal{border-radius:9px;margin-bottom:16px;position:relative;overflow:hidden}.student-hero-reveal .student-hero{z-index:1;will-change:transform;margin-bottom:0;transition:transform .22s ease-out;position:relative}.student-hero-reveal .student-hero:has(.student-hero-drag-handle:active){transition:none}.student-hero-drag-handle{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;outline:none;min-width:0}.student-hero-drag-handle:active{cursor:grabbing}.student-hero-drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:5px}.student-hero-secret{z-index:0;color:#ffffff6b;letter-spacing:.08em;cursor:pointer;background:#0d274ab3;border:2px solid #0d274ab3;border-radius:0 8px 8px 0;place-items:center;width:96px;font-size:13px;font-weight:900;display:grid;position:absolute;top:0;bottom:0;right:0}.student-hero-reveal.is-revealed .student-hero-secret{border-color:var(--ink);background:var(--ink);color:#fff}.student-hero-secret.is-found{background:var(--accent)}.student-hero-secret:disabled{opacity:1;cursor:default}.student-hero-secret.is-timing{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:18px}.avatar,.mini-avatar{border:2px solid var(--ink);background:var(--aqua);border-radius:50%;place-items:center;display:grid}.avatar{width:56px;height:56px}.avatar svg{width:28px}.student-hero .avatar .my-page-person-icon{width:34px;height:34px}.student-hero p,.student-hero h2{margin:0}.student-hero p{color:var(--muted);letter-spacing:.08em;margin-top:4px;font-size:11px;font-weight:900}.student-hero h2{letter-spacing:.07em;font-size:23px}.app-shell.is-balance-game{min-height:100svh;padding:18px 0 max(14px,env(safe-area-inset-bottom))}.balance-game .page-header{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;min-height:48px;margin-bottom:18px}.balance-game .page-header h1{font-weight:900}.balance-game-time{border:1.5px solid var(--ink);background:var(--card);border-radius:7px;justify-content:center;align-items:baseline;gap:3px;min-width:110px;min-height:48px;padding:6px 10px;display:flex}.balance-game-time output{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:900;line-height:1.1}.balance-game-time span{color:var(--muted);font-size:11px;font-weight:900}.balance-game-arena{border:2px solid var(--ink);background:var(--card);height:clamp(340px,100svh - 116px,700px);box-shadow:4px 4px 0 var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair;border-radius:9px;position:relative;overflow:hidden}.balance-game-arena canvas{width:100%;height:100%;display:block}.balance-game-arena.is-growing,.balance-game-arena.is-running{cursor:grab}.balance-game-arena.is-growing:active,.balance-game-arena.is-running:active{cursor:grabbing}.balance-game-arena:focus-visible{outline:3px solid var(--accent);outline-offset:7px}.balance-game-result{border:2px solid var(--ink);background:var(--accent-soft);box-shadow:2px 2px 0 var(--ink);color:var(--ink);text-align:center;letter-spacing:.08em;white-space:nowrap;pointer-events:none;border-radius:7px;margin:0;padding:5px 16px;font-size:16px;font-weight:900;line-height:1.5;position:absolute;top:20px;left:50%;transform:translate(-50%)}.balance-game-result[hidden]{display:none}@media (max-width:360px){.balance-game .page-header h1{white-space:nowrap;font-size:18px}.balance-game-time{min-width:100px;padding-left:7px;padding-right:7px}.balance-game-time output{font-size:27px}}.number-touch-card{padding:17px}.number-touch-timer{border:1.5px solid var(--ink);background:var(--paper);border-radius:7px;align-content:center;justify-items:center;min-height:76px;margin-bottom:12px;display:grid}.number-touch-timer span{color:var(--muted);font-size:11px;font-weight:900}.number-touch-timer strong{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:32px;line-height:1.15}.number-touch-timer small{margin-left:2px;font-size:11px}.number-touch-start{border:2px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;width:100%;min-height:56px;margin:0 0 12px;font-size:17px;font-weight:900;display:flex}.number-touch-start:active{transform:translateY(2px)}.number-touch-board{aspect-ratio:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.number-touch-board button{border:2px solid var(--ink);background:var(--card);min-width:0;color:var(--ink);box-shadow:2px 2px 0 var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:7px;place-items:center;font-size:clamp(17px,5.5vw,23px);font-weight:950;transition:transform 80ms,background .15s,color .15s,opacity .15s;display:grid}.number-touch-board button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.number-touch-board button.is-waiting{box-shadow:none;color:#0d274a38;background:#0d274a0a;border-color:#0d274a40}.number-touch-board button.is-cleared{background:var(--aqua);box-shadow:none;color:#0000;opacity:.55;border-color:#0000}.number-touch-board button.is-wrong{color:var(--danger);background:#f7d8d5;animation:.24s number-touch-wrong}@keyframes number-touch-wrong{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.number-touch-message{color:#9a551f;text-align:center;min-height:20px;margin:9px 0 0;font-size:12px;font-weight:900}.number-touch-ranking{border-top:2px solid var(--ink);margin-top:17px;padding-top:15px}.number-touch-ranking h2{letter-spacing:.06em;margin:0 0 10px;font-size:17px}.number-touch-ranking ol{margin:0;padding:0;list-style:none}.number-touch-ranking li{border-bottom:1px solid #0d274a2e;grid-template-columns:40px 1fr auto;align-items:center;min-height:42px;font-size:13px;display:grid}.number-touch-ranking li.is-me{background:var(--accent-soft);border-radius:6px;margin:0 -7px;padding:0 7px}.number-touch-rank{border:1.5px solid var(--ink);border-radius:50%;place-items:center;width:27px;height:27px;font-weight:950;display:grid}.number-touch-ranking .rank-1{background:#f3cb5d}.number-touch-ranking .rank-2{background:#dfe4e8}.number-touch-ranking .rank-3{background:#e9af7a}.number-touch-ranking li>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.number-touch-ranking li>b{font-variant-numeric:tabular-nums;font-size:15px}.number-touch-ranking li>b small{margin-left:1px;font-size:9px}.number-touch-empty,.number-touch-error{color:var(--muted);text-align:center;margin:5px 0;font-size:13px;font-weight:800}.number-touch-error{color:var(--danger)}.tap-count-card{padding:17px}.tap-count-target{aspect-ratio:1;border:3px solid var(--ink);background:var(--paper);width:100%;color:var(--ink);box-shadow:4px 4px 0 var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;border-radius:10px;align-content:center;justify-items:center;gap:7px;display:grid}.tap-count-target.is-playing{background:var(--ink);color:var(--card);box-shadow:4px 4px 0 var(--accent)}.tap-count-target.is-playing:active{box-shadow:2px 2px 0 var(--accent);transform:translate(2px,2px)}.tap-count-target:disabled{cursor:default}.tap-count-target strong{font-variant-numeric:tabular-nums;font-size:clamp(64px,22vw,96px);line-height:1}.tap-count-target span{font-size:16px;font-weight:900}.avatar-change-button{color:var(--ink);cursor:pointer;padding:0;overflow:hidden}.student-avatar-image{object-fit:cover;width:100%;height:100%}.student-avatar-content{border-radius:inherit;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.student-avatar-content>svg{width:55%;height:55%}.avatar-background-picker{border-top:2px solid var(--border-soft);margin-top:22px;padding-top:16px}.avatar-background-picker h2{margin:0 0 8px;font-size:18px}.avatar-background-picker p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.6}.avatar-background-colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.avatar-background-colors button{cursor:pointer;background:0 0;border:0;border-radius:8px;align-content:start;justify-items:center;gap:8px;padding:8px 3px;display:grid}.avatar-background-colors button[aria-pressed=true]{background:var(--accent-soft)}.avatar-background-colors button:disabled{cursor:default}.avatar-background-colors strong{font-size:14px}.avatar-background-colors small{color:var(--muted);font-size:12px}.avatar-background-swatch{border:2px solid var(--ink);border-radius:50%;place-items:center;width:60px;height:60px;display:grid;position:relative}.avatar-background-swatch>svg{background:var(--ink);color:#fff;border-radius:50%;width:22px;height:22px;padding:3px;position:absolute;bottom:-4px;right:-4px}.avatar-background-colors button:disabled .avatar-background-swatch{border-style:dashed}.avatar-image-frame{place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.avatar-image-frame>img{object-fit:contain;object-position:center;border:0;border-radius:0;width:68%;min-width:0;height:68%;min-height:0;padding:0;display:block}.avatar-change-label{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:11px;font-weight:900;display:flex}.avatar-change-label svg{width:17px;height:17px}.student-feature-grid{width:66.666%;min-width:210px;max-width:280px;margin:0 auto 16px}.student-latest-section{margin-top:0;margin-bottom:17px}.ranking-recent-section .ranking-recent-grid>button{grid-template-rows:28px auto auto auto auto;align-content:start;gap:1px;min-height:0;padding:6px 3px 5px}.ranking-recent-section .ranking-recent-grid>button>strong,.ranking-recent-section .ranking-recent-trick,.ranking-recent-section .ranking-recent-grid time{line-height:1.2}.ranking-recent-section .ranking-recent-grid b{align-self:center}.ranking-recent-section .ranking-recent-avatar{width:28px;height:28px}.student-latest-tool{background:var(--accent-soft);place-items:center;display:grid}.student-latest-tool .tool-glyph{width:24px;height:24px}.student-records{gap:12px;display:grid}.records-toolbar{justify-content:flex-end;display:flex}.records-add-button{border:2px solid var(--ink);background:var(--ink);color:#fff;width:46px;height:46px;box-shadow:3px 3px 0 var(--accent);cursor:pointer;border-radius:8px;place-items:center;display:grid}.records-add-button svg{width:22px;height:22px}.tool-sections{gap:16px;display:grid}.tool-section>header{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:12px;display:flex}.tool-section header p,.tool-section header h2{margin:0}.tool-section header p{color:var(--muted);letter-spacing:.18em;font-size:9px;font-weight:900}.tool-section header h2{margin-top:1px;font-size:18px}.record-cards{gap:9px;padding-top:12px;display:grid}.record-card{border:1.5px solid var(--border-soft);background:#faf7ec9e;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;min-height:70px;padding:10px 10px 10px 12px;display:flex}.record-card h3,.record-card p{margin:0}.record-card h3{font-size:14px}.record-card p{margin-top:6px}.best-value{color:#9a531c;align-items:center;gap:5px;font-size:11px;font-weight:800;display:flex}.best-value svg{width:14px;height:14px}.best-value strong{color:var(--ink);font-size:18px}.no-record{color:var(--muted);font-size:12px;font-weight:700}.record-card button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;flex:none;align-items:center;gap:4px;min-height:38px;padding:0 9px;font-size:11px;font-weight:900;display:flex}.record-card button svg{width:14px}.record-detail-card>header{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:12px;display:flex}.record-detail-card>header>svg{color:#b2682b;width:34px}.record-detail-card header p,.record-detail-card header h2{margin:0}.record-detail-card header p{color:var(--muted);letter-spacing:.15em;font-size:9px;font-weight:900}.record-detail-card header h2{font-size:19px}.record-best{justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 2px 13px;display:flex}.record-best span{color:var(--muted);font-size:12px;font-weight:900}.record-best strong{font-size:28px}.record-preview-list{border-top:1.5px solid #17345d33;margin:0;padding:0;list-style:none}.record-preview-list li{border-bottom:1.5px solid #17345d33;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 2px;display:flex}.record-preview-list time{color:var(--muted);font-size:11px;font-weight:800}.record-preview-list strong{font-size:17px}.record-history-button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:42px;margin:14px auto 0;padding:0 14px;font-size:12px;font-weight:900;display:flex}.record-history-button svg{width:16px}.tool-glyph{width:38px;height:38px;color:var(--ink);flex:none;place-items:center;display:inline-grid;position:relative}.tool-glyph>svg{width:100%;height:100%;display:block;overflow:visible}.tool-glyph .tool-glyph-image{opacity:0;transition:opacity .12s}.tool-glyph.tool-ready .tool-glyph-image{opacity:1}.tool-glyph-placeholder{opacity:.32;width:48%;height:48%;position:absolute}.tool-sm{width:24px;height:24px}.tool-lg{width:58px;height:58px}.tool-other svg{width:28px;height:28px}.step-progress{justify-content:center;align-items:center;margin:4px 0 18px;display:flex}.step-progress span{border:2px solid var(--ink);background:var(--card);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.step-progress i{background:#0d274a38;width:58px;height:2px}.step-progress span.done,.step-progress i.done{background:var(--ink);color:#fff}.flow-card{margin-bottom:14px}.section-title{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:13px;display:flex}.section-title>span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:900;display:grid}.section-title>svg{width:32px}.section-title p,.section-title h2{margin:0}.section-title p{color:var(--muted);letter-spacing:.16em;font-size:9px;font-weight:900}.section-title h2{font-size:18px}.tool-picker{grid-template-columns:repeat(3,1fr);gap:8px;padding-top:14px;display:grid}.tool-picker button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:110px;padding:10px 5px;font-size:12px;font-weight:900;display:flex;position:relative}.tool-picker button.selected{background:var(--ink);color:#fff}.tool-picker button.selected .tool-glyph{color:#fff}.choice-check{width:16px;position:absolute;top:5px;right:5px}.choice-list{gap:9px;padding-top:14px;display:grid}.choice-list button{border:2px solid var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;min-height:52px;padding:0 13px;font-weight:900;display:flex}.choice-list svg{width:17px}.selection-summary,.ranking-selection{border:2px solid var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:12px;padding:10px 12px;display:flex}.selection-summary>span:not(.tool-glyph),.ranking-selection>span:not(.tool-glyph){flex:1;gap:1px;display:grid}.selection-summary>.tool-glyph,.ranking-selection>.tool-glyph{flex:none;width:38px;height:38px;overflow:hidden}.selection-summary small,.ranking-selection small{color:var(--muted);letter-spacing:.1em;font-size:9px;font-weight:900}.selection-summary strong,.ranking-selection strong{font-size:14px}.selection-summary em,.ranking-selection em{font-size:11px;font-style:normal;font-weight:900;text-decoration:underline}.number-input{margin-top:7px}.flow-card .primary-button{margin-bottom:0}.lined-title{border-bottom:2px solid var(--ink);align-items:center;gap:7px;margin:0 0 12px;padding-bottom:10px;font-size:17px;display:flex}.lined-title svg{width:19px}.lined-title small{color:var(--muted);margin-left:auto;font-size:11px}.ranking-selection{background:var(--ink);color:#fff}.ranking-selection small{color:#ffffffa6}.ranking-tool-card{padding-left:14px;padding-right:14px}.ranking-tools .tool-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;min-width:0;max-width:none}.ranking-tools .tool-picker button{border-width:1.5px;gap:4px;min-height:78px;padding:7px 2px;font-size:10px;line-height:1.15}.ranking-tools .tool-picker .tool-glyph{width:38px;height:38px}.ranking-recent-section{margin-top:17px}.ranking-recent-section>h2{margin:0 0 9px 2px;font-size:16px}.ranking-recent-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.ranking-recent-scroll{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:0 3px 5px 1px;display:flex;overflow-x:auto}.ranking-recent-grid>button{border:2px solid var(--ink);background:var(--card);min-width:0;min-height:142px;color:var(--ink);text-align:center;cursor:pointer;box-shadow:2px 2px 0 var(--ink);border-radius:8px;grid-template-rows:32px auto auto 1fr auto;justify-items:center;gap:3px;padding:8px 4px 6px;display:grid}.ranking-recent-scroll>button{scroll-snap-align:start;flex:0 0 calc(25% - 5.25px)}.ranking-recent-grid>button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.ranking-recent-avatar{border:1.5px solid var(--ink);background:#fff;border-radius:50%;width:30px;height:30px;overflow:hidden}.ranking-recent-avatar>*{width:100%;height:100%}.ranking-recent-grid>button>strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;overflow:hidden}.ranking-recent-trick{width:100%;min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:2px;font-size:9px;font-weight:800;display:flex;overflow:hidden}.ranking-recent-trick .tool-glyph{width:15px;height:15px}.ranking-recent-grid b{align-self:end;font-size:18px;line-height:1}.ranking-recent-grid b small{margin-left:1px;font-size:9px}.ranking-recent-grid time{color:var(--muted);font-size:9px;font-weight:800}.ranking-recent-empty{color:var(--muted);text-align:center;padding:20px 12px;font-size:13px;font-weight:800}.ranking-card>header{border-bottom:2px solid var(--ink);align-items:center;gap:12px;padding-bottom:12px;display:flex}.ranking-card>header>svg{color:#b2682b;width:34px}.ranking-card>header>div{min-width:72px}.ranking-card header p,.ranking-card header h2{margin:0}.ranking-card header p{color:var(--muted);letter-spacing:.15em;font-size:9px;font-weight:900}.ranking-card header h2{white-space:nowrap;font-size:19px}.ranking-record-button{border:2px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:7px;place-items:center;width:44px;height:44px;margin-left:auto;display:grid}.ranking-record-button svg{width:22px;height:22px}.ranking-period-toggle{--toggle-width:88px;--toggle-knob:24px;width:var(--toggle-width);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;height:44px;margin-inline:auto;padding:0;display:grid}.ranking-toggle-track{border:2px solid var(--ink);background:var(--ink);border-radius:999px;width:100%;height:34px;transition:background-color .3s;display:block;position:relative}.ranking-toggle-thumb{z-index:1;width:var(--toggle-knob);height:var(--toggle-knob);background:var(--card);border-radius:50%;transition:transform .3s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 2px #0d274a3d}.ranking-toggle-text{top:50%;left:calc(var(--toggle-knob) + 6px);color:var(--card);white-space:nowrap;text-align:center;font-size:10px;font-weight:900;line-height:1;position:absolute;right:3px;transform:translateY(-50%)}.ranking-period-toggle[aria-checked=true] .ranking-toggle-track{background:var(--accent)}.ranking-period-toggle[aria-checked=true] .ranking-toggle-thumb{transform:translate(calc(var(--toggle-width) - var(--toggle-knob) - 10px),-50%)}.ranking-period-toggle[aria-checked=true] .ranking-toggle-text{left:3px;right:calc(var(--toggle-knob) + 6px);color:var(--ink)}.ranking-period-description{color:var(--muted);margin:8px 0 10px;font-size:11px;font-weight:800;line-height:1.6}.ranking-card>header{gap:10px;display:flex}.ranking-card>header>.ranking-record-button{flex:none;margin-left:0}.ranking-card>header>.ranking-heading{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.ranking-heading>svg{color:#b2682b;flex:none;width:28px}.ranking-heading>div{min-width:0}@media (max-width:420px){.ranking-card>header,.ranking-card>header>.ranking-heading{gap:6px}.ranking-heading>svg{width:24px}.ranking-card header h2{font-size:15px}.ranking-card header p{letter-spacing:.08em;font-size:8px}.ranking-period-toggle{--toggle-width:78px;--toggle-knob:20px}.ranking-toggle-track{height:30px}.ranking-toggle-text{font-size:9px}.ranking-card>header>.ranking-record-button{width:38px;height:38px}}@media (max-width:350px){.ranking-heading>svg{display:none}.ranking-card header h2{font-size:14px}}@media (prefers-reduced-motion:reduce){.ranking-toggle-track,.ranking-toggle-thumb{transition:none}}.ranking-results-layout{grid-template-columns:minmax(0,2fr) minmax(92px,.8fr);display:grid}.student-ranking-column{min-width:0}.teacher-ranking-column{border-left:2px solid var(--ink);min-width:0}.teacher-ranking-column>button,.teacher-ranking-empty{width:100%;min-height:64px;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1.5px solid #17345d33;align-content:center;justify-items:start;padding:8px 10px;display:grid}.teacher-ranking-column>button{cursor:pointer}.teacher-ranking-column>button:last-child,.teacher-ranking-empty:last-child{border-bottom:0}.teacher-ranking-column small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.teacher-ranking-column strong{font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px;font-size:21px;line-height:1.1}.teacher-ranking-column strong span{margin-left:2px;font-size:10px}.ranking-card ol{margin:0;padding:0;list-style:none}.ranking-card li{border-bottom:1.5px solid #17345d33}.ranking-card li:last-child{border:0}.ranking-card li button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr) auto 17px;align-items:center;gap:9px;width:100%;padding:13px 4px;display:grid}.ranking-card li.is-me{background:var(--accent-soft);border-radius:7px;margin:0 -10px;padding:0 10px}.rank{border:2px solid var(--ink);border-radius:50%;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.rank-1{background:#f3cb5d}.rank-2{background:#dfe4e8}.rank-3{background:#e9af7a}.rank-person{min-width:0;display:grid}.rank-person small,.rank-person strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-person small{color:var(--muted);font-size:9px}.rank-person strong{font-size:14px}.rank-value{white-space:nowrap;font-size:21px}.ranking-card li svg{width:16px}.community-ranking-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.community-ranking-tabs button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:48px;font-size:14px;font-weight:900;display:flex}.community-ranking-tabs button.is-active{background:var(--ink);color:#fff}.community-ranking-tabs svg{width:20px;height:20px}.community-ranking-card{padding-top:16px}.community-ranking-card>header{border-bottom:2px solid var(--ink);padding-bottom:11px}.community-ranking-card header p,.community-ranking-card header h2{margin:0}.community-ranking-card header p{color:var(--muted);letter-spacing:.15em;font-size:9px;font-weight:900}.community-ranking-card header h2{margin-top:2px;font-size:18px}.community-ranking-card ol{margin:0;padding:0;list-style:none}.community-ranking-card li{border-bottom:1.5px solid #17345d33;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;display:grid}.community-ranking-card li:last-child{border-bottom:0}.community-ranking-card li.is-me{background:var(--accent-soft);border-radius:7px;margin:0 -10px;padding:0 10px}.community-rank-person{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:0;display:grid}.community-rank-person>span:last-child{min-width:0;display:grid}.community-rank-person small{color:var(--muted);font-size:9px}.community-rank-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.community-ranking-card li>b{text-align:right;font-variant-numeric:tabular-nums;min-width:56px;font-size:21px}.community-ranking-card li>b small{margin-left:2px;font-size:10px}.community-ranking-state{color:var(--muted);text-align:center;margin:24px 0 8px;font-size:13px;font-weight:800}.community-ranking-state.is-error{color:var(--danger)}.empty-state{color:var(--muted);text-align:center;place-items:center;gap:5px;padding:30px 10px;display:grid}.empty-state svg{width:28px}.empty-state p{margin:0;font-size:13px;font-weight:800}.search-box{align-items:center;gap:9px;margin-bottom:13px;display:flex}.search-box svg{z-index:1;width:18px;margin-left:13px;position:absolute}.search-box input{background:var(--card);padding-left:41px}.student-group-card{padding-top:14px}.student-group-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.student-group-button{border:2px solid var(--ink);background:var(--card);min-height:102px;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;grid-template-rows:1fr auto;grid-template-columns:34px 1fr;align-items:center;gap:4px 8px;padding:13px 11px;display:grid}.student-group-button>svg:first-child{grid-row:1;width:30px;height:30px}.student-group-button>span{align-self:center;display:grid}.student-group-button strong{font-size:17px}.student-group-button small{color:var(--muted);font-size:9px;font-weight:900}.student-group-button em{background:var(--aqua);border-radius:999px;grid-column:1/3;width:fit-content;padding:3px 8px;font-size:10px;font-style:normal;font-weight:900}.student-group-button>svg:last-child{display:none}.student-group-button.group-nameshi{border-color:#4c7cae}.student-group-button.group-nishikita{border-color:#b85e55}.student-group-button.group-alumni{border-color:#877044}.student-group-button.group-teacher{border-color:var(--ink)}.purchase-group-picker .student-group-button{position:relative}.purchase-group-picker .purchase-group-badge{border:2px solid var(--card);background:var(--danger);color:#fff;border-radius:999px;grid-column:auto;place-items:center;width:auto;min-width:24px;height:24px;padding:0 5px;font-size:11px;line-height:1;display:grid;position:absolute;top:7px;right:7px}.student-group-selection{border:2px solid var(--ink);background:var(--ink);color:#fff;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:64px;margin-bottom:12px;padding:10px 13px;display:flex}.student-group-selection>span{gap:1px;display:grid}.student-group-selection small{color:#ffffffad;letter-spacing:.1em;font-size:9px;font-weight:900}.student-group-selection strong{font-size:17px}.student-group-selection em{font-size:11px;font-style:normal;font-weight:900;text-decoration:underline}.student-list{padding-top:12px}.list-count{color:var(--muted);margin:0 0 7px;font-size:11px;font-weight:900}.student-list ul{margin:0;padding:0;list-style:none}.student-list li{border-top:1.5px solid #17345d33}.student-list li button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:42px 1fr 18px;align-items:center;gap:11px;width:100%;padding:12px 2px;display:grid}.mini-avatar{width:38px;height:38px;overflow:hidden}.mini-avatar svg{width:18px}.student-list li span:nth-child(2){display:grid}.student-list li small{color:var(--muted);font-size:10px}.student-list li strong{font-size:15px}.student-list li>button>svg{width:17px}.student-list li.is-teacher{background:var(--accent-soft);border-top:0;border-radius:7px;margin:0 -8px;padding:0 8px}.history-title{margin-bottom:14px}.history-title p,.history-title h2{margin:0}.history-title p{color:var(--muted);font-size:12px;font-weight:800}.history-title h2{margin-top:3px;font-size:20px}.history-title>div{border-top:2px solid var(--ink);align-items:center;gap:6px;margin-top:14px;padding-top:11px;font-size:12px;font-weight:800;display:flex}.history-title>div svg{color:#a86428;width:17px}.history-title>div strong{margin-left:auto;font-size:23px}.history-list ul{margin:0;padding:0;list-style:none}.history-list li{border-bottom:1.5px solid #17345d33;padding:13px 0}.history-list li:last-child{border:0}.history-date{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.history-date svg{width:13px}.history-date em{background:var(--accent-soft);color:#944b17;border-radius:999px;margin-left:auto;padding:3px 7px;font-style:normal;font-weight:900}.history-value{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.history-value>strong{font-size:25px}.history-value>div{gap:7px;display:flex}.history-value button,.small-primary{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;align-items:center;gap:4px;min-height:36px;padding:0 9px;font-size:11px;font-weight:900;display:flex}.history-value button svg,.small-primary svg{width:14px}.history-value .danger-button{border-color:var(--danger);color:var(--danger)}.inline-edit{grid-template-columns:1fr auto auto;gap:7px;margin-top:7px;display:grid}.inline-edit input{border:2px solid var(--ink);border-radius:7px;width:100%;height:42px;padding:0 10px;font-weight:900}.small-primary{background:var(--ink);color:#fff}.admin-tabs{grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:14px;display:grid}.admin-tabs button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:62px;font-size:10px;font-weight:900;display:flex;position:relative}.admin-tabs button svg{width:24px;height:24px}.admin-tabs button.selected{background:var(--ink);color:#fff}.admin-tab-badge{border:2px solid var(--card);background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10px;font-style:normal;line-height:1;display:grid;position:absolute;top:3px;right:3px}.admin-tabs button.selected .admin-tab-badge{border-color:var(--ink)}.admin-form,.admin-filters{gap:13px;margin-bottom:14px;display:grid}.admin-form .primary-button{margin-top:0}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-form select,.admin-filters select{-webkit-appearance:auto;appearance:auto}.manage-list,.admin-records{gap:0;display:grid}.manage-list>article,.manage-group article{border-bottom:1.5px solid #17345d33;align-items:center;gap:11px;min-height:61px;padding:9px 2px;display:flex}.manage-list>article:last-child{border:0}.manage-list article>div{display:grid}.manage-list article small{color:var(--muted);font-size:10px}.manage-list article strong{font-size:14px}.status-chip{background:var(--aqua);border-radius:999px;align-items:center;gap:3px;margin-left:auto;padding:4px 7px;font-size:9px;font-weight:900;display:flex}.status-chip svg{width:11px}.manage-group{margin-top:11px}.manage-group h3{border-bottom:2px solid var(--ink);align-items:center;gap:7px;margin:0;padding:7px 0;font-size:14px;display:flex}.manage-group article>svg{width:18px;color:var(--accent)}.manage-list>article:has(.manage-student-link){padding:0}.manage-student-link{width:100%;min-height:61px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:9px 2px;display:flex}.manage-student-link:hover{background:#7ed3d31f}.manage-student-link:active{transform:translateY(1px)}.manage-student-name{display:grid}.manage-student-meta{gap:1.5em;display:flex}.manage-student-link>svg{flex:none;width:17px}.manage-student-link:focus-visible{border-radius:5px}.admin-student-directory .student-group-grid{margin-top:2px}.admin-group-selection{background:var(--card);color:var(--ink)}.admin-group-selection small{color:var(--muted)}.event-admin-form textarea{resize:vertical;border:2px solid var(--ink);background:var(--card);width:100%;color:var(--ink);border-radius:7px;padding:11px 13px;line-height:1.6}.event-form-row{width:100%}.event-form-row label{width:100%;min-width:0}.event-edit-cancel{margin-top:-5px}.event-admin-list{gap:0;display:grid}.event-admin-list>article{border-bottom:1.5px solid #17345d33;grid-template-columns:55px 1fr 78px;align-items:center;gap:10px;padding:12px 0;display:grid}.event-admin-list>article:last-child{border-bottom:0}.event-admin-list time{justify-items:center;font-size:17px;font-weight:900;display:grid}.event-admin-list time small{color:var(--muted);font-size:9px}.event-admin-list .event-admin-info{gap:3px;min-width:0;display:grid}.event-admin-list article em{background:var(--aqua);border-radius:999px;width:fit-content;padding:2px 6px;font-size:9px;font-style:normal;font-weight:900}.event-admin-list article strong{overflow-wrap:anywhere;font-size:14px}.event-admin-list article span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.event-admin-actions{gap:6px;display:flex}.event-admin-actions button{border:1.5px solid var(--ink);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:7px;place-items:center;display:grid}.event-admin-actions .event-delete-button{border-color:var(--danger);color:var(--danger)}.event-admin-actions button svg{width:16px}.event-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.event-empty svg{width:30px;height:30px}.event-empty p{margin:0;font-size:13px;font-weight:900}.admin-records article{border-bottom:1.5px solid #17345d33;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px 1px;display:grid}.admin-records article>div{display:grid}.admin-records article small{color:var(--muted);font-size:9px}.admin-records article strong{font-size:13px}.admin-records article span{color:var(--muted);font-size:11px}.admin-records article>b{font-size:21px}.admin-records article>button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:7px 8px;font-size:10px;font-weight:900;display:flex}.admin-records article>button svg{width:13px}.admin-records article.is-orphaned{background:#17345d09}.record-unavailable{color:var(--muted);white-space:nowrap;font-size:10px;font-style:normal;font-weight:900}.admin-payroll,.admin-tuition{gap:14px;display:grid}.admin-tuition-card{margin-top:0}.admin-tuition-month{grid-template-rows:auto 1fr auto;min-height:116px}.admin-tuition-month label{align-items:center;display:flex}.admin-tuition-month select{border:1.5px solid var(--ink);width:100%;min-width:0;color:var(--ink);background:#fffefa;border-radius:6px;padding:7px 4px;font-size:11px;font-weight:900}.admin-tuition-month.is-paid{border-color:var(--danger);background:#fff5f2}.admin-tuition-month.is-paid select{border-color:var(--danger);background:var(--danger);color:#fff}.admin-tuition-month>small{color:var(--muted);text-align:center;margin-top:4px;font-size:9px;font-weight:900}.payroll-student{grid-template-columns:58px 1fr auto;align-items:center;gap:13px;display:grid}.payroll-student h2,.payroll-student p{margin:0}.payroll-student h2{letter-spacing:.06em;font-size:20px}.payroll-student p{color:var(--muted);margin-top:4px;font-size:11px;font-weight:900}.payroll-student>button{cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:11px;font-weight:900;text-decoration:underline}.payroll-period,.payroll-points,.payroll-details{display:grid}.payroll-control-width{width:66.666%;min-width:210px;max-width:280px;margin-left:auto;margin-right:auto}.payroll-period-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.payroll-period label,.payroll-points label{color:var(--ink);gap:6px;font-size:13px;font-weight:900;display:grid}.payroll-period select,.payroll-points input,.payroll-points select,.payroll-line select,.payroll-line input,.payroll-reason-form input{border:2px solid var(--ink);background:var(--card);width:100%;min-height:48px;color:var(--ink);border-radius:7px;padding:0 11px}.payroll-point-fields{gap:11px;display:grid}.payroll-point-field{gap:6px;display:grid}.payroll-point-input{grid-template-columns:44px minmax(0,1fr);gap:7px;display:grid}.payroll-point-minus{border:2px solid var(--ink);background:var(--card);height:48px;color:var(--ink);cursor:pointer;border-radius:7px;place-items:center;font-size:26px;font-weight:900;line-height:1;display:grid}.payroll-point-minus[aria-pressed=true]{border-color:var(--danger);background:var(--danger);color:#fff}.payroll-point-input.is-negative input{border-color:var(--danger);color:var(--danger)}.payroll-point-minus:disabled{opacity:.55;cursor:wait}.payroll-category-manager{border-bottom:1.5px solid #17345d33;gap:11px;margin-bottom:16px;padding-bottom:16px;display:grid}.payroll-category-manager label{color:var(--ink);gap:6px;font-size:13px;font-weight:900;display:grid}.payroll-reason-select{grid-template-columns:1fr 42px;align-items:end;gap:7px;display:grid}.payroll-reason-select>button{border:2px solid var(--danger);background:var(--card);width:42px;height:48px;color:var(--danger);cursor:pointer;border-radius:7px;place-items:center;display:grid}.payroll-reason-select>button:disabled{color:#0d274a47;cursor:not-allowed;border-color:#0d274a38}.payroll-reason-select>button svg{width:18px}.payroll-sub-button{border:2px dashed var(--ink);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:42px;font-size:12px;font-weight:900;display:flex}.payroll-sub-button svg{width:16px}.payroll-reason-form{grid-template-columns:1fr 42px 42px;gap:6px;display:grid}.payroll-reason-form button,.payroll-line>button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;place-items:center;min-height:42px;display:grid}.payroll-reason-form button[type=submit]{background:var(--ink);color:#fff}.payroll-reason-form svg,.payroll-line>button svg{width:17px}.payroll-lines{gap:9px;display:grid}.payroll-line{grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;display:grid}.payroll-line:not(:has(>button)){grid-template-columns:minmax(0,1fr)}.payroll-amount{min-width:0;display:block;position:relative}.payroll-amount input{text-align:right;min-width:0;padding-right:30px;font-weight:900}.payroll-amount>span{color:var(--muted);font-size:12px;font-weight:900;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.payroll-line>button{border-color:var(--danger);width:34px;min-height:42px;color:var(--danger)}.payroll-total{border-top:3px double var(--ink);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px;padding-top:15px;display:flex}.payroll-total>span{color:var(--muted);font-size:11px;font-weight:900}.payroll-total>strong{font-size:30px;line-height:1}.payroll-total small{margin-left:4px;font-size:13px}.payroll-decision{margin-top:4px}.payroll-point-fields .payroll-decision{width:100%;min-width:0;max-width:none}.payroll-final-decision{margin-top:16px;margin-bottom:0}.payroll-message{color:#125b3c;background:#e9f7ef;border:2px solid #16734b;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:0;padding:11px;font-size:12px;font-weight:900;display:flex}.payroll-message svg{width:16px}.payroll-error{text-align:center;margin:0}.trick-unit-control{gap:11px;display:grid}.trick-unit-control label{width:100%;min-width:0;max-width:none;margin:0}.trick-unit-control select,.trick-unit-control input,.trick-edit-form select,.trick-edit-form input{border:2px solid var(--ink);background:var(--card);width:100%;min-height:48px;color:var(--ink);border-radius:7px;padding:0 11px}.trick-manage-list{gap:9px;display:grid}.trick-group{border:2px solid var(--ink);background:var(--card);border-radius:8px;overflow:hidden}.trick-tool-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 1fr auto 18px;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px 11px;display:grid}.trick-tool-toggle>strong{font-size:14px}.trick-tool-toggle>span:not(.tool-glyph){color:var(--muted);font-size:10px;font-weight:900}.trick-tool-toggle>svg{width:17px;transition:transform .15s}.trick-tool-toggle>svg.is-open{transform:rotate(90deg)}.trick-items{border-top:1.5px solid #17345d33;padding:0 11px 11px}.trick-row{border-bottom:1.5px solid #17345d2e;grid-template-columns:1fr 40px;align-items:center;gap:9px;min-height:60px;display:grid}.trick-row>div{gap:2px;display:grid}.trick-row strong{font-size:14px}.trick-row small{color:var(--muted);font-size:10px;font-weight:900}.trick-action-button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.trick-action-button svg{width:16px}.trick-edit-form{background:var(--accent-soft);border-radius:7px;gap:10px;margin:0 -3px 11px;padding:12px;display:grid}.trick-edit-form label{gap:6px;font-size:12px;font-weight:900;display:grid}.trick-edit-actions{grid-template-columns:1fr 1fr auto;gap:7px;display:grid}.trick-edit-actions button{border:2px solid var(--ink);background:var(--card);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:4px;min-height:40px;padding:0 9px;font-size:11px;font-weight:900;display:flex}.trick-edit-actions button:first-child{background:var(--ink);color:#fff}.trick-edit-actions button svg{width:14px}.trick-edit-actions .trick-delete-button{border-color:var(--danger);color:var(--danger)}.trick-empty{color:var(--muted);text-align:center;margin:0;padding:20px 4px 10px;font-size:12px;font-weight:800}.primary-button,.secondary-button,.tool-picker,.choice-list,.selection-summary,.ranking-selection,.search-box,.form-row,.home-menu .menu-button,.home-menu .quick-menu-grid{width:66.666%;min-width:210px;max-width:280px;margin-left:auto;margin-right:auto}.gift-balance{z-index:8;border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:70px;margin-bottom:14px;padding:10px 18px;display:flex;position:sticky;top:10px;box-shadow:4px 4px #17345d40}.gift-balance>span{font-size:13px;font-weight:900}.gift-balance>strong{font-size:30px}.gift-balance>strong small{color:var(--accent);margin-left:3px;font-size:15px}.gift-message{color:var(--ink);justify-content:center;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:900;display:flex}.gift-message svg{width:17px;color:var(--accent)}.gift-category-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gift-category-grid>button{border:2px solid var(--ink);background:var(--card);min-height:112px;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:36px 1fr 16px;align-items:center;gap:8px;padding:15px 12px;display:grid}.gift-category-grid>button>svg:first-child{width:32px;height:32px;color:var(--accent)}.gift-category-grid>button>span{gap:4px;display:grid}.gift-category-grid>button strong{font-size:17px}.gift-category-grid>button small{color:var(--muted);font-size:11px;font-weight:900}.gift-category-grid>button>svg:last-child{width:16px}.gift-category-selection{margin-bottom:13px}.gift-screen.is-title-nudged .page-header-title-button{animation:.28s ease-out gift-title-nudge}@keyframes gift-title-nudge{0%,to{transform:translate(0)}35%{transform:translate(3px)rotate(1deg)}70%{transform:translate(-2px)}}@media (prefers-reduced-motion:reduce){.gift-screen.is-title-nudged .page-header-title-button{animation:none}}.gift-screen.is-secret{--paper:#0d274a;--card:#102d52;--ink:#faf7ec;--muted:#c5cad1;--border-soft:#69788c;--aqua:#294764;--danger:#ffb2ae;isolation:isolate;color:var(--ink);position:relative}.gift-screen.is-secret:before{z-index:-1;background:var(--paper);content:"";pointer-events:none;position:fixed;inset:0}.gift-screen.is-secret .paper-card{background:var(--card);box-shadow:4px 4px #faf7ec59}.gift-screen.is-secret .gift-balance,.gift-screen.is-secret .gift-card-icon,.gift-screen.is-secret .gift-card footer button:not(:disabled),.gift-screen.is-secret .gift-dialog button.is-yes,.gift-screen.is-secret .avatar-unlock-card>button{color:var(--paper)}.gift-screen.is-secret .student-group-selection{background:var(--card);border-color:var(--ink)}.gift-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 7px;display:grid}.gift-avatar-grid article{border:1.5px solid var(--ink);background:var(--card);text-align:center;border-radius:8px;justify-items:center;gap:5px;min-width:0;padding:8px 4px;display:grid;box-shadow:2px 2px #17345d24}.gift-avatar-grid article>img,.gift-avatar-grid article>span{border:1.5px solid var(--ink);background:var(--aqua);object-fit:cover;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;overflow:hidden}.gift-avatar-grid article>span svg{width:27px;height:27px}.gift-avatar-grid article>strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;line-height:1.25;overflow:hidden}.gift-avatar-grid article>b{color:var(--accent);font-size:14px}.gift-avatar-grid article>b small{margin-left:1px;font-size:9px}.gift-avatar-grid article>button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:5px;width:100%;min-height:29px;font-size:10px;font-weight:900}.gift-avatar-grid article>button:disabled{color:#737b86;background:#d0d4d8}.gift-category-empty{grid-column:1/-1}.gift-list{gap:12px;display:grid}.gift-card{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:18px;display:grid}.gift-card-icon{border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:4px;place-items:center;width:52px;height:52px;display:grid}.gift-card>img{border:2px solid var(--ink);object-fit:cover;border-radius:4px;width:52px;height:52px}.gift-card-icon svg{width:25px;height:25px}.gift-card div{min-width:0}.gift-card h2,.gift-card p{margin:0}.gift-card h2{font-size:19px;font-weight:900;line-height:1.35}.gift-card p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.gift-card footer{justify-content:space-between;align-items:center;gap:6px;display:flex}.gift-card footer strong{color:var(--accent);white-space:nowrap;font-size:19px}.gift-card footer strong span{margin-left:1px;font-size:11px}.gift-card footer .gift-stock-count{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:900}.gift-card footer button{background:var(--ink);color:#fff;border:0;border-radius:5px;min-height:30px;padding:0 10px;font-size:11px;font-weight:900}.gift-card footer button:disabled{color:#737b86;background:#d0d4d8}.gift-dialog-backdrop{z-index:40;background:#081b3485;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gift-dialog{text-align:center;justify-items:center;gap:9px;width:min(100%,340px);padding:25px 20px;display:grid}.gift-dialog>svg{width:35px;color:var(--accent)}.gift-dialog h2,.gift-dialog p{margin:0}.gift-dialog h2{font-size:20px}.gift-dialog p{color:var(--muted);font-size:13px}.gift-quantity{width:100%;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:14px;font-weight:900;display:flex}.gift-quantity-controls{align-items:center;gap:10px;display:flex}.gift-quantity-controls button{width:44px;padding:0;font-size:22px}.gift-quantity-controls strong{font-variant-numeric:tabular-nums;text-align:center;min-width:28px;font-size:18px}.gift-quantity-controls button:disabled{opacity:.45}.gift-dialog .gift-purchase-total{width:100%;color:var(--ink);text-align:right;font-size:14px}.gift-purchase-total strong{margin-left:6px;font-size:20px}.gift-purchase-memo{width:100%;color:var(--ink);text-align:left;gap:5px;margin-top:5px;font-size:12px;font-weight:900;display:grid}.gift-purchase-memo textarea{resize:vertical;border:2px solid var(--ink);background:var(--card);width:100%;color:var(--ink);border-radius:7px;padding:10px 11px;font-size:14px;line-height:1.5}.gift-dialog-actions{grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:8px;display:grid}.gift-dialog button{border:2px solid var(--ink);background:var(--card);min-height:44px;color:var(--ink);border-radius:7px;font-weight:900}.gift-dialog button.is-yes{background:var(--ink);color:#fff}.gift-celebration{z-index:70;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gift-celebration svg{--spark-angle:calc(var(--spark-index) * 25.714deg);width:30px;height:30px;color:var(--accent);opacity:0;animation:1.55s ease-out forwards gift-spark;animation-delay:calc(var(--spark-index) * 24ms);filter:drop-shadow(0 2px #17345d2e);position:absolute;top:52%;left:50%}.gift-celebration svg:nth-child(3n){color:#f0b22f}.gift-celebration svg:nth-child(3n+1){color:#6fcfd0;width:22px;height:22px}@keyframes gift-spark{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(15px) scale(.2)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(min(42vw,210px)) scale(1.15) rotate(180deg)}}.gift-admin-form textarea{resize:vertical;border:2px solid var(--ink);background:var(--card);width:100%;color:var(--ink);border-radius:7px;padding:11px 13px;line-height:1.6}.gift-admin-form .gift-secret-checkbox{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.gift-admin-form .gift-secret-checkbox input{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0;margin:0;padding:0}.gift-admin-form label small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.5}.gift-stock-control{grid-template-columns:48px 1fr;align-items:end;gap:9px;width:66.666%;min-width:210px;max-width:280px;margin-left:auto;margin-right:auto;display:grid}.gift-stock-control>button{border:2px solid var(--ink);background:var(--card);height:46px;color:var(--ink);cursor:pointer;border-radius:7px;place-items:center;font-size:25px;font-weight:900;display:grid}.gift-stock-control>button.is-unlimited{background:var(--ink);color:#fff}.gift-stock-control label{gap:6px;font-size:13px;font-weight:900;display:grid}.gift-stock-control input{border:2px solid var(--ink);background:var(--card);width:100%;height:46px;color:var(--ink);border-radius:7px;padding:0 12px;font-size:15px}.gift-stock-control input:disabled{color:#6f7781;background:#e4e7ea;border-color:#aeb6c0}.gift-file-input{font-size:12px;padding:9px!important}.gift-image-preview{border:2px solid var(--ink);object-fit:cover;border-radius:10px;width:96px;height:96px;margin:auto}.gift-edit-cancel{margin-top:-5px}.gift-admin-list>article{border-bottom:1.5px solid #17345d33;grid-template-columns:46px 1fr 78px;align-items:center;gap:11px;padding:11px 0;display:grid}.gift-admin-list>article:last-child{border-bottom:0}.gift-admin-list article>img,.gift-admin-list article>span{border:1.5px solid var(--ink);object-fit:cover;border-radius:50%;width:46px;height:46px}.gift-admin-list article>span{color:var(--ink);place-items:center;display:grid}.gift-admin-list article>span svg{width:22px}.gift-admin-list article>div{gap:3px;display:grid}.gift-admin-list article strong{font-size:15px}.gift-admin-list article small{color:var(--accent);font-size:13px;font-weight:900}.gift-admin-list .gift-admin-actions{gap:6px;display:flex}.gift-admin-actions button{border:1.5px solid var(--ink);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:7px;place-items:center;display:grid}.gift-admin-actions .event-delete-button{border-color:var(--danger);color:var(--danger)}.gift-admin-actions button svg{width:16px}.avatar-picker-card>header{border-bottom:2px solid var(--ink);align-items:center;gap:11px;padding-bottom:12px;display:flex}.avatar-picker-card>header>svg{width:34px;height:34px;color:var(--accent)}.avatar-picker-card>header p,.avatar-picker-card>header h2{margin:0}.avatar-picker-card>header p{color:var(--muted);letter-spacing:.14em;font-size:10px;font-weight:900}.avatar-picker-note,.avatar-secret-note{color:var(--muted);font-size:12px;font-weight:700;line-height:1.7}.avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.avatar-choice{border:2px solid var(--ink);background:var(--card);min-width:0;color:var(--ink);border-radius:10px;justify-items:center;gap:7px;padding:9px 6px 10px;display:grid;position:relative}button.avatar-choice{cursor:pointer}.avatar-choice.selected{border-color:var(--accent);box-shadow:0 0 0 3px #e16e192e}.avatar-choice>span,.avatar-choice>img{aspect-ratio:1;background:var(--aqua);object-fit:cover;border-radius:50%;place-items:center;width:min(100%,68px);height:auto;display:grid;overflow:hidden}.avatar-pagination{justify-content:center;align-items:center;gap:18px;margin-top:16px;display:flex}.avatar-pagination button{border:2px solid var(--ink);background:var(--card);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;display:grid}.avatar-pagination button:disabled{opacity:.3;cursor:default}.avatar-pagination button svg{width:20px;height:20px}.avatar-pagination .previous-page-icon{transform:rotate(180deg)}.avatar-pagination>span{text-align:center;font-variant-numeric:tabular-nums;min-width:54px;font-size:14px;font-weight:700}.avatar-choice>span svg{width:35px;height:35px}.avatar-choice>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.avatar-choice>svg{background:var(--accent);color:#fff;border-radius:50%;width:18px;height:18px;padding:3px;position:absolute;top:5px;right:5px}.admin-avatars{gap:14px;display:grid}.avatar-grant-details{padding:0;overflow:hidden}.avatar-grant-details summary{cursor:pointer;justify-content:space-between;align-items:center;padding:17px 18px;font-size:15px;font-weight:900;list-style:none;display:flex}.avatar-grant-details summary::-webkit-details-marker{display:none}.avatar-grant-details summary span{align-items:center;gap:9px;display:flex}.avatar-grant-details summary span svg{width:23px;height:23px;color:var(--accent)}.avatar-grant-details summary>svg{width:18px;height:18px;transition:transform .2s}.avatar-grant-details[open] summary>svg{transform:rotate(90deg)}.avatar-grant-details[open] summary{border-bottom:2px solid var(--ink)}.avatar-grant-details .avatar-grant-form{box-shadow:none;border:0;margin:0;padding:18px}.avatar-admin-preview{border:2px solid var(--ink);object-fit:cover;border-radius:50%;width:112px;height:112px}.avatar-grant-preview{background:var(--aqua);color:var(--muted);border-radius:8px;align-items:center;gap:12px;padding:10px;font-size:11px;font-weight:800;display:flex}.avatar-grant-preview>.avatar-image-frame{border:2px solid var(--ink);object-fit:cover;border-radius:50%;width:56px;height:56px}.avatar-admin-list>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 5px;display:grid}.avatar-admin-list>div>button{min-width:0;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-items:center;gap:4px;padding:5px 2px;display:grid}:is(.avatar-admin-list>div>button:hover,.avatar-admin-list>div>button:focus-visible){background:var(--aqua);outline:2px solid var(--ink);outline-offset:1px}.avatar-admin-list>div>button>.avatar-image-frame{border:1px solid var(--ink);object-fit:cover;border-radius:50%;width:42px;height:42px}.avatar-admin-list>div>button strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;line-height:1.2;overflow:hidden}.avatar-admin-list>div>button small{color:var(--accent);font-size:8px;font-weight:900}.avatar-condition-dialog:not([open]){display:none}.avatar-condition-dialog[open]{width:min(300px,100vw - 40px);min-width:0;max-height:calc(100dvh - 40px);margin:auto;display:grid;position:fixed;inset:0}.avatar-condition-dialog::backdrop{background:#17345d59}.avatar-unlock-backdrop{z-index:90;background:#17345d24;place-items:center;padding:24px;animation:.35s both avatar-unlock-fade;display:grid;position:fixed;inset:0;overflow:auto}.avatar-unlock-card{border:2px solid var(--ink);background:var(--card);width:66.666%;min-width:230px;max-width:300px;max-height:calc(100vh - 48px);color:var(--ink);text-align:center;box-shadow:6px 6px 0 var(--ink);border-radius:10px;justify-items:center;padding:16px 14px 18px;animation:.55s cubic-bezier(.2,.8,.2,1) both avatar-unlock-rise;display:grid;overflow:auto}.avatar-unlock-card>p{color:var(--accent);letter-spacing:.25em;margin:10px 0 0;font-size:11px;font-weight:900}.avatar-unlock-card>h2{letter-spacing:.1em;margin:0 0 9px;font-size:38px;line-height:1.05}.avatar-unlock-card>h3{letter-spacing:.07em;margin:9px 0 12px;font-size:19px}.avatar-unlock-top-line,.avatar-unlock-mid-line,.avatar-unlock-bottom-line{background:var(--ink);width:100%;height:2px}.avatar-unlock-top-line{box-shadow:0 7px #17345d24}.avatar-unlock-image-wrap{place-items:center;width:100%;min-height:145px;display:grid;position:relative;overflow:hidden}.background-unlock-colors{z-index:1;gap:8px;animation:.65s cubic-bezier(.15,.85,.25,1.35) .15s both avatar-unlock-pop;display:flex;position:relative}.background-unlock-colors>span{border:2px solid var(--ink);width:58px;height:58px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-items:center;display:grid}.background-unlock-colors svg{width:32px;height:32px}.avatar-unlock-image-wrap:before,.avatar-unlock-image-wrap:after{content:"";background:#17345d29;width:100%;height:1px;position:absolute}.avatar-unlock-image-wrap:before{top:33.333%}.avatar-unlock-image-wrap:after{bottom:33.333%}.avatar-unlock-image-wrap>.avatar-image-frame{z-index:1;border:3px solid var(--ink);background:var(--aqua);object-fit:cover;width:105px;height:105px;box-shadow:5px 5px 0 var(--ink);border-radius:50%;animation:.65s cubic-bezier(.15,.85,.25,1.35) .15s both avatar-unlock-pop;position:relative}.point-reward-mark{z-index:1;border:3px solid var(--ink);background:var(--ink);width:105px;height:105px;color:var(--card);box-shadow:5px 5px 0 var(--accent);border-radius:50%;place-items:center;animation:.65s cubic-bezier(.15,.85,.25,1.35) .15s both avatar-unlock-pop;display:grid;position:relative}.point-reward-mark svg{width:58px;height:58px}.point-reward-backdrop{width:100vw;height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.point-reward-modal{width:min(300px,100vw - 40px);min-width:0;max-height:calc(100dvh - 40px)}.point-reward-modal>h3{color:var(--accent)}.secret-game-over-card>h2{letter-spacing:.07em;margin-top:5px;font-size:30px}.secret-game-over-mark{border:3px solid var(--ink);background:var(--ink);width:105px;height:105px;color:var(--card);box-shadow:5px 5px 0 var(--danger);border-radius:50%;place-items:center;margin:20px 0 8px;font-size:70px;font-weight:400;line-height:1;animation:.65s cubic-bezier(.15,.85,.25,1.35) .15s both avatar-unlock-pop;display:grid}.secret-game-over-card>h3{color:var(--danger)}.avatar-unlock-spark{z-index:2;color:var(--accent);animation:1.15s ease-in-out infinite alternate avatar-unlock-spark;position:absolute}.avatar-unlock-spark svg{width:25px;height:25px}.avatar-unlock-spark.spark-one{top:16px;right:24px}.avatar-unlock-spark.spark-two{animation-delay:.25s;bottom:14px;left:23px}.avatar-unlock-card>small{color:var(--muted);letter-spacing:.12em;margin-top:13px;font-size:11px;font-weight:900}.avatar-unlock-card>strong{margin-top:4px;font-size:16px}.avatar-unlock-card>button{border:2px solid var(--ink);background:var(--ink);color:#fff;letter-spacing:.08em;min-width:150px;box-shadow:4px 4px 0 var(--accent);cursor:pointer;border-radius:8px;margin-top:16px;padding:10px 20px;font-size:13px;font-weight:900}@keyframes avatar-unlock-fade{0%{opacity:0}to{opacity:1}}@keyframes avatar-unlock-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes avatar-unlock-pop{0%{opacity:0;transform:scale(.45)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes avatar-unlock-spark{0%{opacity:.35;transform:scale(.75)rotate(-12deg)}to{opacity:1;transform:scale(1.18)rotate(10deg)}}.purchase-admin-list>article{border-bottom:1.5px solid #17345d33;grid-template-columns:72px 66px minmax(0,1fr) auto 36px;align-items:center;gap:8px;padding:13px 1px;transition:opacity .2s;display:grid}.purchase-admin-list>article:last-of-type{border-bottom:0}.purchase-admin-list>article.is-delivered{opacity:.55}.purchase-checks{align-items:center;gap:4px!important;display:flex!important}.purchase-check{cursor:pointer;place-items:center;width:34px;height:34px;display:grid}.purchase-check input{opacity:0;width:1px;height:1px;position:absolute}.purchase-check span{border:2px solid var(--ink);background:var(--card);color:#0000;border-radius:5px;place-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:grid}.purchase-check span svg{width:18px}.purchase-check input:checked+span{background:var(--ink);color:#fff}.purchase-check input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.purchase-check input:disabled+span{cursor:wait;opacity:.55}.purchase-admin-list time{color:var(--muted);font-size:11px;font-weight:800;line-height:1.4}.purchase-admin-list article>div{gap:3px;min-width:0;display:grid}.purchase-admin-list article strong{font-size:16px}.purchase-admin-list article span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.purchase-admin-list .purchase-memo{color:var(--muted);white-space:normal;font-size:11px;font-weight:700;line-height:1.5;overflow:visible}.purchase-admin-list article>b{color:var(--accent);white-space:nowrap;font-size:19px}.purchase-admin-list article>b small{margin-left:2px;font-size:11px}.purchase-delete-button{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:background .15s,color .15s,opacity .15s;display:grid}.purchase-delete-button svg{stroke-width:2.2px;width:20px;height:20px}:is(.purchase-delete-button:hover,.purchase-delete-button:focus-visible){color:#ae3641;background:#ae36411a}.purchase-delete-button.is-confirming{color:#fff;background:#ae3641;box-shadow:2px 2px #17345d38}:is(.purchase-delete-button.is-confirming:hover,.purchase-delete-button.is-confirming:focus-visible){color:#fff;background:#8f2934}.purchase-delete-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.purchase-delete-button:disabled{cursor:wait;opacity:.35}@media (prefers-reduced-motion:reduce){.gift-celebration svg{opacity:0;animation:none}}.selection-summary,.ranking-selection{margin-bottom:12px}.search-box{margin-bottom:13px}.login-card label,.login-card>input,.input-label,.admin-form>label,.admin-filters label,.number-input{width:66.666%;min-width:210px;max-width:280px;margin-left:auto;margin-right:auto}.login-card>input,.number-input{display:block}.form-row{grid-template-columns:1fr}.form-row label{width:100%;min-width:0;max-width:none;margin:0}@media (max-width:420px){.app-shell{width:calc(100% - 24px);padding-top:18px}.center-page{padding-top:38px}.paper-card{box-shadow:4px 4px 0 var(--ink);padding:16px}.brand-block{margin-bottom:24px}.home-game-secret-button{top:16px;left:16px}.tool-picker{gap:6px}.tool-picker button{min-height:102px;font-size:11px}.ranking-tool-card{padding-left:10px;padding-right:10px}.ranking-tools .tool-picker{gap:4px}.ranking-tools .tool-picker button{min-height:70px;padding:6px 1px;font-size:9px}.ranking-tools .tool-picker .tool-glyph{width:34px;height:34px}.ranking-recent-grid{gap:5px}.ranking-recent-grid>button{min-height:134px;padding-left:3px;padding-right:3px}.ranking-recent-scroll>button{flex-basis:calc(25% - 3.75px)}.form-row{grid-template-columns:1fr}.admin-tabs{gap:5px}.admin-tabs button{min-height:58px}.ranking-card>header{gap:8px}.ranking-card>header>svg{width:30px}.ranking-card header h2{font-size:17px}.ranking-results-layout{grid-template-columns:minmax(0,1.9fr) minmax(84px,.8fr)}.ranking-card li button{grid-template-columns:34px minmax(0,1fr) auto 14px;gap:6px;padding-right:8px}.ranking-card .rank-value{font-size:17px}.teacher-ranking-column>button,.teacher-ranking-empty{min-height:61px;padding-left:7px;padding-right:7px}.teacher-ranking-column small{font-size:11px}.teacher-ranking-column strong{font-size:19px}.teacher-ranking-column strong span{font-size:10px}.rank{width:29px;height:29px}.home-game-secret-button.is-right{left:auto;right:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.payroll-category-picker{gap:6px;min-width:0;display:grid}.payroll-category-label{font-size:13px;font-weight:900}.payroll-category-trigger{border:2px solid var(--ink);background:var(--card);width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:6px;padding:8px 11px;font-size:14px;display:flex}.payroll-category-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.payroll-category-trigger svg{flex:none;width:17px;transform:rotate(90deg)}.payroll-category-options{border:2px solid var(--ink);background:var(--card);border-radius:7px;gap:5px;max-height:280px;padding:6px;display:grid;overflow-y:auto}.payroll-category-option{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:5px;display:grid}.payroll-category-option>button{border:1.5px solid var(--ink);background:var(--card);min-height:40px;color:var(--ink);cursor:pointer;border-radius:5px}.payroll-category-option>button:first-child{border-color:var(--danger);color:var(--danger);place-items:center;display:grid}.payroll-category-option>button:first-child svg{width:17px}.payroll-category-option>button.is-delete-confirming{background:var(--danger);color:#fff}.payroll-category-choice{text-align:left;justify-content:space-between;align-items:center;gap:5px;padding:6px 8px;font-size:13px;display:flex}.payroll-category-choice svg{flex:none;width:15px}.payroll-category-choice[aria-pressed=true]{background:var(--pale);font-weight:900}.payroll-category-option>button:disabled{opacity:.55;cursor:wait}.payroll-category-options>p{margin:8px;font-size:12px}.payroll-entry-layout{grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:10px;display:grid}.payroll-entry-fields{min-width:0}.payroll-entry-layout .payroll-control-width{width:100%;min-width:0;max-width:none;margin-left:0;margin-right:0}.payroll-entry-layout>.payroll-decision{white-space:nowrap;flex-direction:column;gap:5px;width:76px;min-width:0;min-height:64px;margin:0;padding:9px 4px;font-size:12px;display:flex}.payroll-entry-layout .payroll-line{grid-template-columns:minmax(0,1fr)}.payroll-entry-layout .payroll-category-manager{margin-bottom:11px;padding-bottom:11px}.payroll-entry-layout .payroll-total{flex-wrap:wrap;gap:5px;margin-top:11px;padding-top:11px}.payroll-entry-layout .payroll-total strong{font-size:24px}@media (max-width:350px){.payroll-entry-layout{grid-template-columns:minmax(0,1fr) 66px;gap:7px}.payroll-entry-layout>.payroll-decision{width:66px;font-size:11px}.payroll-entry-layout .payroll-line{grid-template-columns:minmax(0,1fr)}.payroll-entry-layout .payroll-reason-form{grid-template-columns:minmax(0,1fr) 32px 32px;gap:4px}}.student-feedback-header .page-header{grid-template-columns:44px minmax(0,1fr) 96px;gap:8px}.student-feedback-header .page-header h1{letter-spacing:0;font-size:17px}.teacher-feedback-button{border:2px solid var(--ink);background:var(--card);width:96px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:900;line-height:1.4}.teacher-feedback-button:hover{background:var(--paper)}.teacher-feedback-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (max-width:350px){.student-feedback-header .page-header{grid-template-columns:40px minmax(0,1fr) 84px;gap:6px}.student-feedback-header .page-header h1{font-size:15px}.teacher-feedback-button{width:84px;padding:5px 6px;font-size:11px}}.teacher-feedback-button span{white-space:nowrap;display:block}.balance-game-arena{--balance-arena-height:clamp(260px,calc(100svh - 330px),700px);width:min(100%,calc(var(--balance-arena-height) * .8));height:var(--balance-arena-height);margin-inline:auto}.balance-game-save{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;min-height:58px;padding:12px 0 4px;display:flex}.balance-game-save p{text-align:center;min-height:1em;color:var(--ink);flex-basis:100%;margin:0;font-size:12px}.balance-save-button,.balance-cancel-button{border:1.5px solid var(--ink);background:var(--accent-soft);color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:9px 14px;font-size:14px;font-weight:800}.balance-save-button:disabled{opacity:.65;cursor:default}.balance-cancel-button{background:var(--card)}.balance-favorites{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:6px 2px;display:grid}.balance-favorite{aspect-ratio:3/4;border:1.5px solid var(--ink);background:var(--card);min-width:0;color:var(--ink);opacity:1;border-radius:7px;flex-direction:column;align-items:center;padding:4px;display:flex;overflow:hidden}.balance-favorite img{object-fit:contain;flex:1;width:100%;min-height:0}.balance-favorite>span:not(.balance-favorite-empty){padding-top:3px;font-size:11px;font-weight:800}.balance-favorite-empty{opacity:.35;flex-direction:column;align-items:center;margin:auto;font-size:27px;display:flex}.balance-favorite-empty small{font-size:11px}.balance-favorite.is-replacing{outline:3px solid var(--accent);outline-offset:2px;cursor:pointer}.balance-favorites-note{text-align:center;color:var(--muted);margin:8px 0 0;font-size:10px}.balance-favorite:not(:disabled){cursor:pointer}.balance-favorite:not(:disabled):hover{background:var(--accent-soft)}.balance-harvest-dialog{border:2px solid var(--ink);background:var(--card);width:min(94vw,520px);max-width:94vw;max-height:94dvh;color:var(--ink);border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;box-shadow:5px 5px #0d274a4d}.balance-harvest-dialog::backdrop{background:#051224b3}.balance-harvest-content{padding:14px}.balance-harvest-content header{justify-content:space-between;align-items:center;gap:10px;display:flex}.balance-harvest-content h2{margin:0;font-size:17px}.balance-harvest-content header button{border:1.5px solid var(--ink);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:7px;flex-shrink:0}.balance-harvest-content>img{object-fit:contain;width:100%;height:min(68dvh,660px);display:block}.balance-harvest-content>p{text-align:center;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:28px;font-weight:900}.balance-harvest-content>p span{font-size:13px}.harvest-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:8px 2px;display:grid}.harvest-gallery-grid .balance-favorite{aspect-ratio:3/4;box-shadow:3px 3px 0 var(--ink)}.harvest-gallery-grid .balance-favorite>span:not(.balance-favorite-empty){padding:6px 0;font-size:14px}.harvest-gallery-empty{text-align:center;color:var(--muted);margin:20px 0;font-size:13px;line-height:1.8}.student-feature-grid:has([aria-label=お気に入りの収穫を見る]){grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;max-width:360px}.harvest-recent{border-top:2px solid var(--ink);min-width:0;margin-top:32px;padding-top:20px}.harvest-recent>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.harvest-recent h2{margin:0;font-size:17px}.harvest-recent>header>span{color:var(--muted);flex-shrink:0;font-size:11px}.harvest-recent-scroll{scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:12px;padding:4px 3px 14px;display:flex;overflow-x:auto}.harvest-recent-card{aspect-ratio:auto;scroll-snap-align:start;width:140px;height:205px;box-shadow:2px 2px 0 var(--ink);flex:0 0 140px}.harvest-recent-card>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.harvest-recent-card>small{color:var(--muted);padding:3px 0;font-size:11px}.harvest-zoom-name{text-align:center;margin-top:8px;font-size:14px;font-weight:700}@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-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}
