@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--weight-semibold);font-display:swap;src:url(/fonts/fraunces-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:var(--weight-semibold);font-display:swap;src:url(/fonts/fraunces-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:normal;font-weight:var(--weight-semibold);font-display:swap;src:url(/fonts/albert-sans-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-weight:var(--weight-semibold);font-display:swap;src:url(/fonts/albert-sans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-400-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/albert-sans-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--hairline:color-mix(in srgb, var(--color-accent) 18%, transparent);--hairline-strong:color-mix(in srgb, var(--color-accent) 36%, transparent);--field-surface:color-mix(in srgb, var(--color-card-surface) 55%, var(--color-background));--button-gradient:linear-gradient(180deg, var(--color-primary), var(--color-secondary));--radius-sm:8px;--radius-control:12px;--radius-card:18px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--text-2xs:.72rem;--text-xs:.8rem;--text-sm:.9rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.3rem;--text-xl:1.6rem;--text-2xl:2rem;--text-display:clamp(2rem, 5vw, 3rem);--weight-regular:400;--weight-semibold:600;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--tracking-tight:-.01em;--tracking-label:.08em;--tracking-eyebrow:.22em;--elevation-1:0 6px 18px color-mix(in srgb, var(--color-primary) 12%, transparent);--elevation-2:0 16px 40px -20px #000000b3;--elevation-3:0 24px 60px -30px #000000e6;--button-shadow:0 6px 18px color-mix(in srgb, var(--color-primary) 28%, transparent);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-crown-gold);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--z-raised:10;--z-sticky:100;--z-appbar:200;--z-overlay:1000;--z-modal:1100;--z-toast:1200;--bp-sm:480px;--bp-md:720px;--bp-lg:960px}*,:before,:after{box-sizing:border-box}html,body{min-height:100dvh;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-background);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}#root{min-height:100dvh}.app-shell{min-height:100dvh;padding:var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.app-logo{border-radius:1rem;width:min(60vw,16rem);height:auto}.app-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);font-size:var(--text-2xl);letter-spacing:.003em;text-wrap:balance;margin:var(--space-4) 0 0}.app-title-accent{color:var(--color-primary)}.app-tagline{color:var(--color-text-secondary);margin:var(--space-2) 0 0}.login-screen{justify-content:center;align-items:center;gap:var(--space-3);min-height:100dvh;padding:var(--space-5);text-align:center;flex-direction:column;display:flex}.login-logo{border-radius:1rem;width:min(45vw,11rem);height:auto}.login-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);margin:var(--space-1) 0 var(--space-3);font-size:1.75rem}.login-form{gap:var(--space-4);flex-direction:column;width:min(100%,20rem);display:flex}.login-field{gap:var(--space-1);text-align:left;color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.login-field input{background-color:var(--field-surface);color:var(--color-text-primary);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);padding:var(--space-3) var(--space-3);font-size:var(--text-base)}.login-pin-input{font-size:var(--text-md);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.login-error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.login-submit{background:var(--button-gradient);color:var(--color-text-primary);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:.015em;box-shadow:var(--button-shadow);border:none}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-mode-toggle{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:var(--space-2);background:0 0;border:none;text-decoration:underline}.login-passkey{color:var(--color-accent);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);padding:var(--space-3) 1.2rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-top:var(--space-3);background:0 0}.login-passkey:disabled{opacity:.5;cursor:not-allowed}.passkey-prompt{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4) 1.25rem;max-width:24rem;margin-top:var(--space-4)}.passkey-prompt p{color:var(--color-text-secondary);margin:0 0 var(--space-3)}.passkey-prompt-error{color:var(--color-danger)}.passkey-prompt-actions{gap:var(--space-3);justify-content:center;display:flex}.passkey-prompt-actions button{background:var(--button-gradient);color:var(--color-text-primary);border-radius:var(--radius-control);padding:var(--space-2) 1.2rem;font-weight:var(--weight-semibold);border:none}.passkey-prompt-dismiss{color:var(--color-text-secondary)!important;border:1px solid var(--hairline-strong)!important;box-shadow:none!important;background:0 0!important}.logout-button{color:var(--color-text-secondary);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);padding:var(--space-2) 1.2rem;font-weight:var(--weight-semibold);margin-top:var(--space-4);background:0 0}.error-fallback{justify-content:center;align-items:center;gap:var(--space-3);min-height:100dvh;padding:var(--space-5);text-align:center;flex-direction:column;display:flex}.error-fallback h1{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-xl);margin:0}.error-fallback p{color:var(--color-text-secondary);max-width:28rem;margin:0}.error-fallback button{background:var(--button-gradient);color:var(--color-text-primary);border-radius:var(--radius-control);padding:var(--space-2) var(--space-5);font-weight:var(--weight-semibold);box-shadow:var(--button-shadow);border:none}.admin-shell{align-items:stretch;min-height:100dvh;display:flex}.admin-sidebar{gap:var(--space-5);width:16rem;padding:var(--space-5) var(--space-4);background-color:var(--color-card-surface);border-right:1px solid var(--hairline);flex-direction:column;flex-shrink:0;display:flex}.admin-brand{align-items:center;gap:var(--space-3);display:flex}.admin-logo{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem}.admin-brand-name{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md);line-height:1.2}.admin-nav{gap:var(--space-1);flex-direction:column;flex-grow:1;display:flex}.admin-nav-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);color:var(--color-text-secondary);font-weight:var(--weight-semibold);text-decoration:none;display:block}.admin-nav-link:hover{background-color:var(--hairline);color:var(--color-surface-light)}.admin-nav-link-active{background-color:var(--color-primary);color:var(--color-text-primary)}.admin-user{gap:var(--space-1);border-top:1px solid var(--hairline);padding-top:var(--space-4);flex-direction:column;display:flex}.admin-user-name{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.admin-user-role{color:var(--color-text-secondary);font-size:var(--text-xs)}.admin-main{padding:var(--space-6);flex-grow:1;min-width:0}.admin-section-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-xl);margin:0 0 1.25rem}.admin-section-note{color:var(--color-text-secondary);margin:0 0 var(--space-4)}.admin-retry-button{background:var(--button-gradient);color:var(--color-text-primary);border-radius:var(--radius-control);padding:var(--space-2) var(--space-5);font-weight:var(--weight-semibold);box-shadow:var(--button-shadow);border:none}.admin-stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));max-width:48rem;display:grid}.admin-stat-card{gap:var(--space-1);border-radius:var(--radius-card);background-color:var(--color-card-surface);border:1px solid var(--hairline);flex-direction:column;padding:1.25rem;display:flex}.admin-stat-card-alert{border-color:var(--color-danger)}.admin-stat-value{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:700}.admin-stat-label{color:var(--color-text-secondary);font-size:var(--text-sm)}@media (width<=48rem){.admin-shell{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--hairline);width:100%}}.admin-section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:1.25rem;display:flex}.admin-section-header .admin-section-title{margin:0}.admin-subsection-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md);margin:0 0 var(--space-4)}.admin-table-wrap{border:1px solid var(--hairline);border-radius:var(--radius-card);overflow-x:auto}.admin-table{border-collapse:collapse;background-color:var(--color-card-surface);width:100%}.admin-table th,.admin-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline);color:var(--color-text-primary);white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table th{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em}.admin-table-sub{color:var(--color-text-secondary);font-size:var(--text-xs)}.admin-confirm-group{gap:var(--space-2);display:inline-flex}.admin-danger-button{color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 45%, transparent);border-radius:var(--radius-control);padding:var(--space-2) 1.2rem;font-weight:var(--weight-semibold);background:0 0}.admin-danger-button:hover{border-color:var(--color-danger)}.admin-pagination{align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.admin-pagination .admin-section-note{margin:0}.add-student-form{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin-bottom:var(--space-5);max-width:48rem;padding:1.25rem}.add-student-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.add-student-grid label{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.add-student-grid input{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary)}.add-student-actions{gap:var(--space-3);display:flex}.add-student-actions .logout-button{margin-top:0}.issued-pin-card{background-color:var(--color-card-surface);border:2px solid var(--color-crown-gold);border-radius:var(--radius-card);margin-bottom:var(--space-5);max-width:32rem;padding:1.25rem}.issued-pin-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md);margin:0 0 var(--space-4)}.issued-pin-details{margin:0 0 var(--space-4);gap:2.5rem;display:flex}.issued-pin-details dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.issued-pin-details dd{margin:var(--space-1) 0 0;font-size:var(--text-xl);letter-spacing:.1em;color:var(--color-text-primary);font-weight:700}.issued-pin-warning{color:var(--color-warning);margin:0 0 var(--space-4);font-size:var(--text-sm)}.csv-import{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin-bottom:var(--space-5);max-width:48rem;padding:1.25rem}.csv-file-label{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4);flex-direction:column;display:flex}.csv-mapping-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.csv-mapping-grid label{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.csv-mapping-grid select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary)}.csv-problem-list{color:var(--color-danger);font-size:var(--text-sm);margin:0 0 var(--space-4);padding-left:1.25rem}.pin-card-sheet{gap:var(--space-4);margin:var(--space-4) 0 var(--space-5);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.pin-card{gap:var(--space-1);border:2px dashed var(--color-crown-gold);border-radius:var(--radius-card);padding:var(--space-4);flex-direction:column;display:flex}.pin-card-name{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md)}.pin-card-row{color:var(--color-text-primary);font-size:var(--text-base);letter-spacing:.05em}@media print{body *{visibility:hidden}.pin-card-sheet,.pin-card-sheet *{visibility:visible}.pin-card-sheet{margin:0;position:absolute;inset:0}.pin-card,.pin-card-name,.pin-card-row{color:#000;border-color:#000}}.admin-stat-card-link{text-decoration:none;transition:border-color .15s}.admin-stat-card-link:hover,.admin-stat-card-link:focus-visible{border-color:var(--color-primary)}.crown-check-card{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin:var(--space-5) auto;text-align:left;max-width:26rem;padding:1.25rem}.crown-check-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md);margin:0 0 var(--space-2)}.crown-check-question{color:var(--color-text-secondary);margin:0 0 var(--space-3)}.crown-check-scale{gap:var(--space-2);margin-bottom:var(--space-4);justify-content:space-between;display:flex}.crown-check-mood{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);background-color:var(--field-surface);color:var(--color-text-secondary);border:1px solid var(--hairline);border-radius:var(--radius-control);cursor:pointer;font:inherit;font-size:var(--text-2xs);flex-direction:column;flex:1;display:flex}.crown-check-mood:hover{border-color:var(--color-crown-gold)}.crown-check-mood-emoji{font-size:var(--text-xl)}.crown-check-mood-selected{border-color:var(--color-primary);background-color:var(--color-card-surface);color:var(--color-text-primary);outline:2px solid var(--color-primary)}.crown-check-note{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.crown-check-note-label{color:var(--color-text-secondary);font-size:var(--text-sm)}.crown-check-note input{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary)}.crown-check-note-text{color:var(--color-text-secondary);margin:0 0 var(--space-3)}.crown-check-error{color:var(--color-danger);margin:0 0 var(--space-3)}.crown-check-submit{font:inherit;font-weight:var(--weight-semibold);letter-spacing:.015em;width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--button-gradient);color:var(--color-text-primary);cursor:pointer;box-shadow:var(--button-shadow);border:none}.crown-check-submit:disabled{opacity:.6;cursor:default}.crown-check-done{color:var(--color-text-primary);margin:0 0 var(--space-2)}.crown-check-done-emoji{font-size:var(--text-xl);margin-right:var(--space-2)}.crown-check-edit,.crown-check-retry{font:inherit;font-weight:var(--weight-semibold);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);cursor:pointer;background:0 0}.crown-flag{font-size:var(--text-md);margin-left:var(--space-1);filter:saturate(.85);display:inline-block;transform:rotate(-28deg)}.crown-trend{align-items:flex-end;gap:2px;height:1.5rem;display:inline-flex}.crown-trend-bar{background-color:var(--color-accent);border-radius:2px 2px 0 0;width:.45rem}.crown-trend-bar-1{background-color:var(--color-warning);height:20%}.crown-trend-bar-2{background-color:var(--color-warning);height:40%}.crown-trend-bar-3{height:60%}.crown-trend-bar-4{height:80%}.crown-trend-bar-5{background-color:var(--color-crown-gold);height:100%}.landing-page{justify-content:center;align-items:center;gap:var(--space-3);min-height:100vh;padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;display:flex}.landing-hero{align-items:center;gap:var(--space-2);padding:var(--space-5) 0 var(--space-2);flex-direction:column;display:flex}.landing-logo{width:17rem;max-width:72vw;filter:drop-shadow(0 0 3.5rem color-mix(in srgb, var(--color-primary) 35%, transparent))}.landing-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);letter-spacing:.02em;margin:0;font-size:2.4rem}.landing-tagline{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.landing-blurb{color:var(--color-text-secondary);max-width:32rem;font-size:var(--text-base);margin:1.25rem 0 var(--space-4);line-height:1.75}.landing-enter{padding:var(--space-3) var(--space-6);color:var(--color-primary);flex-direction:column;align-items:center;gap:.15rem;margin-top:auto;text-decoration:none;display:flex}.landing-enter-arrow{font-size:var(--text-2xl);animation:1.6s ease-in-out infinite landing-bounce}.landing-enter-text{color:var(--color-text-secondary);font-size:var(--text-sm)}.landing-enter:hover .landing-enter-text,.landing-enter:focus-visible .landing-enter-text{color:var(--color-text-primary)}@keyframes landing-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(.4rem)}}@media (prefers-reduced-motion:reduce){.landing-enter-arrow{animation:none}}.daily-message-card{background-color:var(--color-card-surface);border:1px solid var(--color-crown-gold);border-radius:var(--radius-card);margin:var(--space-5) auto;text-align:left;max-width:26rem;padding:1.25rem}.daily-message-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-crown-gold);font-size:var(--text-base);margin:0 0 var(--space-2)}.daily-message-text{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--color-text-primary);margin:0;line-height:1.5}.daily-message-loading{color:var(--color-text-secondary);margin:0 0 var(--space-2)}.daily-message-retry{font:inherit;font-weight:var(--weight-semibold);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);cursor:pointer;background:0 0}.daily-message-retry:hover{border-color:var(--color-crown-gold)}.journal-dictation-hint{color:var(--color-text-secondary);font-size:var(--text-xs);margin:var(--space-1) 0 var(--space-3)}.app-frame{flex-direction:column;min-height:100vh;display:flex}.crown-band{z-index:3;background:linear-gradient(90deg, transparent, var(--color-crown-gold) 18%, var(--color-crown-gold) 82%, transparent);flex:none;height:3px;position:sticky;top:0}.app-bar{z-index:2;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--hairline);background-color:color-mix(in srgb, var(--color-card-surface) 72%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;position:relative}.app-bar-brand{align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.app-bar-logo{object-fit:contain;width:1.9rem;height:1.9rem}.app-bar-name{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--color-crown-gold);letter-spacing:.16em;text-transform:uppercase}.app-bar-hi{color:var(--color-text-primary);font-size:var(--text-sm)}.app-bar-nav{gap:var(--space-1);margin-left:auto;display:none}@media (width>=48rem){.app-bar-nav{display:inline-flex}}.app-bar-link{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none}.app-bar-link-active{color:var(--color-text-primary);background-color:color-mix(in srgb, var(--color-primary) 22%, transparent)}.app-bar-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:inline-flex}@media (width>=48rem){.app-bar-actions{margin-left:0}}.app-bar-bell{width:2.75rem;height:2.75rem;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.app-bar-bell:hover{color:var(--color-crown-gold)}.app-bar-bell-dot{top:var(--space-2);right:var(--space-2);background-color:var(--color-primary);border-radius:50%;width:.55rem;height:.55rem;position:absolute}.avatar-coin-button{background-color:var(--field-surface);width:2.4rem;height:2.4rem;font-size:var(--text-base);border-width:1px}.account-menu-wrap{display:inline-flex;position:relative}.account-menu{z-index:6;min-width:12rem;padding:var(--space-2);background-color:var(--color-card-surface);border:1px solid var(--hairline-strong);border-radius:var(--radius-card);text-align:left;flex-direction:column;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 18px 50px #00000047}.account-menu-name{padding:var(--space-2) var(--space-2) var(--space-2);font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-1)}.account-menu-item{width:100%;padding:var(--space-2) var(--space-2);border-radius:var(--radius-control);color:var(--color-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;text-decoration:none;display:block}.account-menu-item:hover{background-color:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-text-primary)}.app-content{z-index:1;width:100%;max-width:30rem;padding:0 var(--space-3) var(--space-5);font-size:var(--text-base);flex:1;margin:0 auto;position:relative}.app-content-tabbed{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}@media (width>=48rem){.app-content{border-left:1px solid color-mix(in srgb, var(--color-crown-gold) 22%, transparent);border-right:1px solid color-mix(in srgb, var(--color-crown-gold) 22%, transparent)}}.app-footer{z-index:1;justify-content:center;align-items:center;gap:var(--space-1) var(--space-3);border-top:1px solid var(--hairline);color:var(--color-text-secondary);font-size:var(--text-xs);text-align:center;flex-wrap:wrap;padding:1rem 1rem 5.2rem;display:flex;position:relative}.app-frame:not(:has(.tab-bar)) .app-footer{padding-bottom:var(--space-4)}.app-footer-brand{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.app-footer-link{color:var(--color-text-secondary);border-bottom:1px solid var(--hairline-strong);text-decoration:none}.app-footer-credit{font-size:var(--text-2xs);opacity:.85;flex-basis:100%}.app-footer-link:hover{color:var(--color-crown-gold);border-bottom-color:var(--color-crown-gold)}.tab-bar{z-index:4;padding:.4rem .5rem calc(.5rem + env(safe-area-inset-bottom,0px));background-color:color-mix(in srgb, var(--color-card-surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--hairline-strong);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{min-width:3.5rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-text-secondary);font-size:var(--text-2xs);flex-direction:column;align-items:center;gap:.15rem;text-decoration:none;display:flex}.tab-icon{font-size:var(--text-lg)}.tab-item-active{color:var(--color-crown-gold);background-color:color-mix(in srgb, var(--color-crown-gold) 10%, transparent)}.page-glow{background-image:radial-gradient(60rem 24rem at 50% -8rem, color-mix(in srgb, var(--color-crown-gold) 9%, transparent), transparent 70%)}.page-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);font-size:var(--text-xl);letter-spacing:.01em;margin:var(--space-2) 0 .15rem}.page-title-mark{margin-right:var(--space-2);font-size:var(--text-md);vertical-align:.1em}.crown-hero{background:linear-gradient(160deg, color-mix(in srgb, var(--color-surface-light) 30%, white), color-mix(in srgb, var(--color-surface-light) 55%, white));border:1px solid color-mix(in srgb, var(--color-crown-gold) 40%, transparent);text-align:left;width:100%;max-width:30rem;color:var(--color-background);border-radius:26px;margin:1.25rem auto;padding:clamp(1.5rem,3vw,2.5rem);position:relative;overflow:hidden}.crown-hero-watermark{top:-.5rem;right:var(--space-2);color:var(--color-crown-gold);opacity:.3;pointer-events:none;position:absolute}.crown-hero-watermark svg{width:clamp(9rem,16vw,13rem);height:auto}.crown-hero-greeting{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-background);text-wrap:balance;margin:0 0 .2rem;font-size:clamp(1.8rem,3.4vw,2.6rem);position:relative}.crown-hero-name{color:var(--color-secondary)}.crown-hero-sub{margin:0 0 var(--space-4);color:color-mix(in srgb, var(--color-background) 62%, var(--color-secondary));position:relative}.crown-hero-check{position:relative}.crown-hero .crown-check-question{color:var(--color-background);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);margin:0 0 var(--space-3)}.crown-hero .crown-check-scale{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(6.25rem,1fr));display:grid}.crown-hero .crown-check-mood{background-color:color-mix(in srgb, white 78%, var(--color-surface-light));border:1px solid color-mix(in srgb, var(--color-background) 12%, transparent);color:color-mix(in srgb, var(--color-background) 78%, var(--color-secondary));min-height:6.5rem;padding:var(--space-4) var(--space-2);gap:var(--space-2);border-radius:16px;position:relative}.crown-hero .crown-check-mood-icon{width:32px;height:32px}.crown-hero .crown-check-mood:first-child .crown-check-mood-icon,.crown-hero .crown-check-mood:nth-child(2) .crown-check-mood-icon{color:var(--color-crown-gold)}.crown-hero .crown-check-mood:nth-child(3) .crown-check-mood-icon{color:var(--color-primary)}.crown-hero .crown-check-mood-label{font-size:var(--text-base)}.crown-hero .crown-check-mood:hover{border-color:var(--color-secondary)}.crown-hero .crown-check-mood-selected{border:2px solid var(--color-secondary);background-color:color-mix(in srgb, var(--color-primary) 14%, white);color:var(--color-secondary)}.crown-check-mood-icon{margin:0 auto;display:block}.crown-check-mood-tick{background-color:var(--color-secondary);color:#fff;width:1.3rem;height:1.3rem;font-size:var(--text-2xs);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-.5rem;right:-.4rem}.crown-hero .crown-check-note-label{color:color-mix(in srgb, var(--color-background) 70%, var(--color-secondary))}.crown-hero .crown-check-note input{color:var(--color-background);border:1px solid color-mix(in srgb, var(--color-background) 20%, transparent);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);font-size:var(--text-base);background-color:#fff}.crown-hero .crown-check-title{color:var(--color-secondary)}.crown-hero .crown-check-done{color:var(--color-background);align-items:center;gap:var(--space-2);display:flex}.crown-check-done-icon{color:var(--color-secondary);flex:none}.crown-hero .crown-check-note-text{color:color-mix(in srgb, var(--color-background) 70%, var(--color-secondary))}.crown-hero .crown-check-edit,.crown-hero .crown-check-retry{color:color-mix(in srgb, var(--color-background) 75%, var(--color-secondary));border-color:color-mix(in srgb, var(--color-background) 25%, transparent)}.crown-hero .crown-check-error{color:var(--color-secondary)}.home-section-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);max-width:30rem;margin:var(--space-6) auto var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--color-crown-gold) 28%, transparent);text-align:left;justify-content:space-between;align-items:center;width:100%;font-size:clamp(1.35rem,2vw,1.7rem);display:flex}.home-section-crown{color:var(--color-crown-gold);width:24px;height:24px}.today-row{align-items:center;gap:var(--space-3);background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4) var(--space-4);margin:var(--space-4) auto;text-align:left;width:100%;max-width:30rem;text-decoration:none;transition:border-color .15s;display:flex}.today-row:hover{border-color:var(--color-crown-gold)}.today-row-tile{border-radius:var(--radius-control);width:3rem;height:3rem;font-size:var(--text-lg);background-color:color-mix(in srgb, var(--color-primary) 30%, var(--color-card-surface));flex:none;justify-content:center;align-items:center;display:inline-flex}.today-row-tile-cream{background-color:color-mix(in srgb, var(--color-surface-light) 60%, white)}.today-row-body{flex-direction:column;flex:1;gap:.15rem;display:flex}.today-row-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-primary)}.today-row-text{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.today-row-chevron{color:var(--color-text-secondary);font-size:var(--text-lg);flex:none}.queen-card-page{width:100%}.queen-watermark{color:var(--color-crown-gold);opacity:.14;pointer-events:none;position:absolute;top:-1.2rem;right:-1.4rem}.queen-card-page .relax-card{position:relative;overflow:hidden}.avatar-builder{align-items:center;gap:var(--space-1);margin:var(--space-2) 0 var(--space-4);flex-direction:column;display:flex}.avatar-builder-preview{border-radius:var(--radius-pill);border:2px solid color-mix(in srgb, var(--color-crown-gold) 60%, transparent);width:132px;height:132px;box-shadow:var(--button-shadow);margin-bottom:var(--space-2);overflow:hidden}.avatar-coin-svg{border-radius:var(--radius-pill);display:block}.avatar-facet{width:100%}.avatar-facet-label{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary);margin:var(--space-3) 0 var(--space-1);display:block}.avatar-swatches{gap:var(--space-1);flex-wrap:wrap;display:flex}.avatar-swatch{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);background-color:var(--field-surface);border:1px solid var(--hairline-strong);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;padding:.28rem .6rem .28rem .4rem;display:inline-flex}.avatar-swatch:hover{border-color:var(--color-crown-gold)}.avatar-swatch-selected{border:2px solid var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-text-primary)}.avatar-swatch-dot{border-radius:var(--radius-pill);border:1px solid var(--hairline-strong);flex:none;width:14px;height:14px}.goal-item{border-top:1px solid var(--hairline);padding:var(--space-3) 0 var(--space-2);margin-top:var(--space-2)}.goal-item:first-of-type{border-top:none;margin-top:0}.goal-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--color-text-primary);margin:0 0 var(--space-1)}.goal-meta{margin:0 0 var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.goal-status{padding:.15rem var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-block}.goal-status-not_started{background-color:color-mix(in srgb, var(--color-text-secondary) 18%, transparent);color:var(--color-text-secondary)}.goal-status-growing{background-color:color-mix(in srgb, var(--color-primary) 30%, transparent);color:var(--color-text-primary)}.goal-status-completed{background-color:color-mix(in srgb, var(--color-crown-gold) 25%, transparent);color:var(--color-crown-gold)}.goal-next{margin:0 0 var(--space-2);color:var(--color-text-primary);flex-direction:column;gap:.15rem;display:flex}.goal-completed{color:var(--color-text-secondary);margin:var(--space-2) 0}.goal-editor{gap:var(--space-3);border-top:1px solid var(--hairline);padding-top:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.strength-picker{gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);flex-wrap:wrap;display:flex}.app-content:has(.home-layout){max-width:74rem}.home-layout .crown-hero,.home-layout .home-section-title,.home-layout .today-tile-row,.home-layout .daily-message-card,.home-layout .announcements-card,.home-layout .events-card,.home-layout .goals-card{max-width:none}.goals-card{background-color:color-mix(in srgb, var(--color-card-surface) 82%, var(--color-background));border:1px solid var(--hairline);padding:var(--space-5);text-align:left;border-radius:26px;width:100%;max-width:30rem;margin:1.25rem auto;position:relative;box-shadow:0 18px 50px #00000047}.goals-card-action{text-align:center;margin-top:var(--space-2);text-decoration:none;display:inline-block}@media (width>=60rem){.home-layout{gap:var(--space-5);grid-template-columns:minmax(0,1fr) 22.5rem;align-items:start;display:grid}.home-layout>:not(.home-main):not(.home-aside){grid-column:1/-1}.home-main{min-width:0}.home-aside{top:var(--space-4);position:sticky}.home-aside .goals-card{margin-top:1.25rem}}.door-sub{color:var(--color-text-secondary);font-size:var(--text-xs)}.relax-card{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin:var(--space-4) auto;text-align:left;max-width:28rem;padding:1.25rem}.breath-stage{align-items:center;gap:var(--space-3);padding:1.25rem 0 var(--space-3);flex-direction:column;display:flex}.breath-circle{background:radial-gradient(circle, color-mix(in srgb, var(--color-crown-gold) 32%, transparent), color-mix(in srgb, var(--color-primary) 22%, transparent));border:1px solid color-mix(in srgb, var(--color-crown-gold) 50%, transparent);border-radius:50%;width:6rem;height:6rem;transition-property:transform;transition-timing-function:ease-in-out;transform:scale(.7)}.breath-circle-expand,.breath-circle-hold-full{transform:scale(1.15)}.breath-circle-contract,.breath-circle-hold-empty{transform:scale(.7)}@media (prefers-reduced-motion:reduce){.breath-circle{transition:none;transform:scale(.9)}}.breath-label{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--color-text-primary);align-items:center;gap:var(--space-2);margin:0;display:flex}.grounding-count{border:1px solid color-mix(in srgb, var(--color-crown-gold) 55%, transparent);width:2.2rem;height:2.2rem;color:var(--color-crown-gold);font-size:var(--text-md);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.relax-item{border-top:1px solid var(--hairline);padding-top:var(--space-2);margin-top:var(--space-2)}.relax-item:first-of-type{margin-top:var(--space-1);border-top:none;padding-top:0}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 var(--space-1)}.eyebrow-rose{color:var(--color-primary)}.eyebrow-gold{color:color-mix(in srgb, var(--color-crown-gold) 80%, var(--color-text-secondary))}.today-tile-row{align-items:center;gap:var(--space-4);background-color:color-mix(in srgb, var(--color-card-surface) 80%, var(--color-background));border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4) 1.2rem;margin:var(--space-4) auto;text-align:left;width:100%;max-width:30rem;text-decoration:none;display:flex}.today-tile-row-link{transition:border-color .15s}.today-tile-row-link:hover{border-color:var(--color-crown-gold)}.today-tile{border-radius:var(--radius-control);flex:none;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:inline-flex}.today-tile-rose{background-color:color-mix(in srgb, var(--color-primary) 68%, var(--color-card-surface));color:#fff}.today-tile-cream{background-color:color-mix(in srgb, var(--color-surface-light) 55%, white);color:color-mix(in srgb, var(--color-crown-gold) 60%, var(--color-secondary))}.today-tile-dark{background-color:var(--color-card-surface);border:1px solid var(--hairline-strong);color:var(--color-crown-gold)}.today-tile-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.today-tile-text{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--color-text-primary);margin:0;line-height:1.4}.today-tile-sub{color:var(--color-text-secondary);font-size:var(--text-sm)}.today-tile-action{color:var(--color-crown-gold);font-size:var(--text-sm);text-underline-offset:3px;text-decoration:underline}.today-chevron{border:1px solid var(--hairline-strong);width:2.6rem;height:2.6rem;color:var(--color-crown-gold);font-size:var(--text-lg);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.events-more{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);flex-direction:column;gap:.2rem;padding:0;list-style:none;display:flex}.goals-card-crown{color:var(--color-crown-gold);opacity:.85;position:absolute;top:1.25rem;right:1.25rem}.goals-card-heading{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);text-wrap:balance;margin:0 2.5rem 1.25rem 0;font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.25}.goals-card-goal{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--color-text-primary);margin:0;line-height:1.35}.goals-card-step{font-size:var(--text-md)}.goals-card-rule{border:none;border-top:1px solid var(--hairline);margin:var(--space-4) 0}.goals-card-also{color:var(--color-text-secondary);margin:var(--space-1) 0}.goals-card-button{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--button-gradient);color:var(--color-text-primary);font-weight:var(--weight-semibold);font-size:var(--text-base);box-shadow:var(--button-shadow);border-radius:14px;margin-top:1.25rem;text-decoration:none;display:flex}.connect-card{margin:1.25rem 0}.connect-card-notice{color:var(--color-text-primary);background-color:color-mix(in srgb, var(--color-crown-gold) 14%, transparent);border:1px solid color-mix(in srgb, var(--color-crown-gold) 35%, transparent);padding:var(--space-2) var(--space-4);margin:var(--space-3) 0;border-radius:14px}.connect-card-button{cursor:pointer;border:none;font-family:inherit}.invite-status{padding:.15rem var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-block}.invite-status-pending{background-color:color-mix(in srgb, var(--color-text-secondary) 18%, transparent);color:var(--color-text-secondary)}.invite-status-reached_out{background-color:color-mix(in srgb, var(--color-crown-gold) 25%, transparent);color:var(--color-crown-gold)}.invite-status-declined{background-color:color-mix(in srgb, var(--color-text-secondary) 12%, transparent);color:var(--color-text-secondary);opacity:.8}.pending-strip{gap:var(--space-2);flex-wrap:wrap;margin:0 0 1.25rem;display:flex}.pending-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--hairline-strong);background-color:var(--color-card-surface);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;display:inline-flex}.pending-chip-count{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.pending-chip-link:hover{border-color:var(--color-crown-gold);color:var(--color-text-primary)}.pending-chip-alert{border-color:color-mix(in srgb, var(--color-primary) 55%, transparent);background-color:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-text-primary)}.pending-chip-clear{border-style:dashed}.flag-status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--weight-semibold)}.flag-status-new{color:var(--color-crown-gold)}.flag-status-reviewed{color:var(--color-text-secondary)}.flag-status-resolved{color:var(--color-text-secondary);opacity:.7}.about-portrait{object-fit:cover;border:2px solid color-mix(in srgb, var(--color-crown-gold) 60%, transparent);width:11rem;height:11rem;margin:var(--space-1) auto var(--space-4);border-radius:50%;display:block}.avatar-coin{background-color:var(--field-surface);border:1px solid color-mix(in srgb, var(--color-crown-gold) 45%, transparent);width:2rem;height:2rem;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-crown-gold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar-coin-hero{width:3.6rem;height:3.6rem;font-size:var(--text-xl);margin:0 auto var(--space-2)}.avatar-coin-small{width:1.4rem;height:1.4rem;font-size:var(--text-2xs);margin-right:var(--space-1);vertical-align:-.35rem}.share-header{max-width:28rem;margin:var(--space-5) auto 0;padding:0 var(--space-1);text-align:left}.share-back{color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none}.share-back:hover{color:var(--color-crown-gold)}.share-composer{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-top:2px solid color-mix(in srgb, var(--color-crown-gold) 55%, transparent);border-radius:var(--radius-card);margin:var(--space-4) auto;text-align:left;gap:var(--space-3);flex-direction:column;max-width:28rem;padding:1.25rem;display:flex}.share-notice{max-width:26rem;margin:var(--space-2) auto;color:var(--color-crown-gold);text-align:left}.share-post{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin:var(--space-4) auto;text-align:left;max-width:28rem;padding:1.25rem}.share-author-row{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}.share-author-name{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.share-author-date{color:var(--color-text-secondary);font-size:var(--text-xs)}.share-pending-tag{color:var(--color-crown-gold);font-size:var(--text-xs);font-style:italic}.share-reactions{gap:var(--space-1);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.share-reaction{font:inherit;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--field-surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);cursor:pointer;color:var(--color-text-secondary);transition:border-color .15s;display:inline-flex}.share-reaction:hover{border-color:var(--color-crown-gold)}.share-reaction-mine{border-color:var(--color-crown-gold);color:var(--color-text-primary)}.share-reaction:disabled{opacity:.6;cursor:default}.share-reaction-count{font-size:var(--text-xs)}.share-comment{color:var(--color-text-secondary);margin:var(--space-2) 0 var(--space-2) var(--space-2);border-left:2px solid var(--hairline);padding-left:var(--space-2)}.share-comment strong{color:var(--color-text-primary)}.share-comment-add{gap:var(--space-2);margin-top:var(--space-2);display:flex}.share-comment-add input{flex:1}.share-flag{margin-top:var(--space-3)}.share-flag-button{font:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;padding:.1rem var(--space-1);background:0 0;border:none;text-decoration:underline}.share-flag-button:hover{color:var(--color-crown-gold)}.share-flag-confirm{color:var(--color-text-secondary);font-size:var(--text-xs)}.share-photo{border-radius:var(--radius-control);border:1px solid var(--hairline);max-width:100%;margin:var(--space-2) 0;display:block}.share-photo-pick{position:relative}.share-photo-pick input{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.share-photo-button{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);cursor:pointer;background:0 0;display:inline-flex}.share-photo-pick:hover .share-photo-button,.share-photo-pick input:focus-visible+.share-photo-button{border-color:var(--color-crown-gold);color:var(--color-text-primary)}.share-photo-preview img{border-radius:var(--radius-control);border:1px solid var(--hairline-strong);max-width:10rem;margin-bottom:var(--space-1);display:block}.events-card,.announcements-card{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin:var(--space-5) auto;text-align:left;max-width:26rem;padding:1.25rem}.events-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-primary);font-size:var(--text-md);margin:0 0 var(--space-3)}.events-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.events-item{flex-direction:column;gap:.1rem;display:flex}.events-date{color:var(--color-crown-gold);font-weight:var(--weight-semibold);font-size:var(--text-xs)}.events-time{color:var(--color-text-secondary);font-weight:400}.events-name{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.events-detail{color:var(--color-text-secondary);font-size:var(--text-sm)}.announcement-item{border-top:1px solid var(--hairline);padding:var(--space-3) 0 var(--space-2);margin-top:var(--space-3)}.announcement-item:first-of-type{border-top:none;margin-top:0;padding-top:0}.announcement-item-urgent{border-left:3px solid var(--color-crown-gold);padding-left:var(--space-3)}.announcement-meta{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 var(--space-1)}.announcement-urgent-tag{color:var(--color-crown-gold);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-2xs)}.announcement-title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-text-primary);font-size:var(--text-base);margin:0 0 var(--space-1)}.announcement-body{color:var(--color-text-secondary);margin:0 0 var(--space-2);white-space:pre-wrap}.calendar-editor{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4);margin:var(--space-4) 0;gap:var(--space-3);flex-direction:column;display:flex}.calendar-editor-row{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.calendar-repeat-toggle{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);cursor:pointer;display:inline-flex}.journal-transparency{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3);font-style:italic}.crown-check-note textarea,.crown-check-note select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary);resize:vertical}.journal-history{margin-top:var(--space-4);color:var(--color-text-secondary)}.journal-history summary{cursor:pointer}.journal-history-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.journal-history-list li{margin-bottom:var(--space-3)}.journal-history-date{color:var(--color-crown-gold);font-size:var(--text-xs)}.journal-history-prompt{color:var(--color-text-secondary);font-size:var(--text-xs)}.journal-history-text{color:var(--color-text-primary);white-space:pre-wrap;margin:var(--space-1) 0 0}.journal-review-entry{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4) 1.25rem;margin-bottom:var(--space-4);max-width:48rem}.journal-review-text{color:var(--color-text-primary);white-space:pre-wrap;margin:var(--space-2) 0 0}.journal-prompts-manager{margin-top:var(--space-6);max-width:48rem}.journal-prompt-add{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.journal-prompt-add input{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary);flex:1}.journal-prompt-list{margin:0;padding:0;list-style:none}.journal-prompt-list li{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-card-surface);color:var(--color-text-primary);display:flex}.journal-prompt-retired{color:var(--color-text-secondary);text-decoration:line-through}.encouragement-day{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-4) 1.25rem;margin-bottom:var(--space-4);max-width:48rem}.encouragement-text{color:var(--color-text-primary);margin:var(--space-2) 0 var(--space-3)}.encouragement-status{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.encouragement-status-draft{color:var(--color-warning)}.encouragement-status-approved{color:var(--color-success)}.encouragement-status-posted{color:var(--color-crown-gold)}.encouragement-editor{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.guardian-request-card{background-color:var(--color-card-surface);border:2px solid var(--color-crown-gold);border-radius:var(--radius-card);margin:var(--space-5) auto 0;text-align:left;max-width:26rem;padding:1.25rem}.guardian-request-text{color:var(--color-text-primary);margin:0 0 var(--space-3)}.guardian-request-code{color:var(--color-crown-gold);font-size:var(--text-2xl);letter-spacing:.35em;text-align:center;margin:0 0 var(--space-2)}.guardian-request-hint{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0}.guardian-student-card,.guardian-view-card{background-color:var(--color-card-surface);border:1px solid var(--hairline);border-radius:var(--radius-card);margin:var(--space-4) auto;text-align:left;max-width:26rem;padding:1.25rem}.guardian-code-entry{gap:var(--space-3);flex-direction:column;display:flex}.guardian-code-entry input{font:inherit;font-size:var(--text-lg);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background-color:var(--field-surface);color:var(--color-text-primary)}.guardian-view-row{justify-content:space-between;gap:var(--space-4);color:var(--color-text-primary);margin:0 0 var(--space-2);display:flex}.guardian-view-row span:first-child{color:var(--color-text-secondary)}.staff-mode-banner{align-items:center;gap:var(--space-2);background-color:var(--color-card-surface);border:1px solid var(--color-crown-gold);border-radius:var(--radius-card);padding:var(--space-4) var(--space-4);margin-bottom:var(--space-4);flex-direction:column;max-width:26rem;display:flex}.staff-mode-banner-text{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.staff-mode-banner-text strong{color:var(--color-crown-gold)}.staff-mode-exit{color:var(--color-crown-gold);border:1px solid var(--color-crown-gold);border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);font-weight:var(--weight-semibold);background:0 0}.staff-mode-exit:hover{color:var(--color-surface-light);border-color:var(--color-surface-light)}.staff-badge{margin-left:var(--space-2);padding:.1rem var(--space-2);border:1px solid var(--color-crown-gold);color:var(--color-crown-gold);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em;vertical-align:middle;border-radius:6px;display:inline-block}.admin-viewas-button{color:var(--color-crown-gold);border:1px solid var(--color-crown-gold);border-radius:var(--radius-control);padding:var(--space-2) 1.2rem;font-weight:var(--weight-semibold);margin-top:var(--space-4);background:0 0}.admin-viewas-button:hover:not(:disabled){color:var(--color-surface-light);border-color:var(--color-surface-light)}.admin-viewas-button:disabled{opacity:.6;cursor:default}.admin-viewas-error{color:var(--color-danger);font-size:var(--text-xs);margin:0}.login-submit:hover:not(:disabled),.passkey-prompt-actions button:hover,.error-fallback button:hover,.admin-retry-button:hover,.crown-check-submit:hover:not(:disabled){filter:brightness(1.07)}.login-passkey:hover:not(:disabled),.logout-button:hover,.crown-check-edit:hover,.crown-check-retry:hover{border-color:var(--color-crown-gold);color:var(--color-surface-light)}.guardian-trend-list{color:var(--color-text-primary);margin:0;padding:0;list-style:none}.guardian-trend-list li{padding:var(--space-1) 0;border-bottom:1px solid var(--color-card-surface)}.welcome-credentials{background-color:var(--color-card-surface);border:2px dashed var(--color-crown-gold);border-radius:var(--radius-control);margin:var(--space-4) 0 var(--space-5);text-align:left;max-width:22rem;padding:1.25rem}.welcome-keep-safe{color:var(--color-text-secondary);margin:0 0 var(--space-4)}.welcome-credential-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin:0 0 var(--space-2);display:flex}.welcome-credential-label{color:var(--color-text-secondary);font-size:var(--text-sm)}.welcome-credential-value{color:var(--color-text-primary);font-size:var(--text-lg);letter-spacing:.12em}.welcome-hint{color:var(--color-text-secondary);max-width:22rem;margin:var(--space-2) 0 var(--space-4)}
