@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-extrabold:800;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.app-frame{width:min(100%,960px);min-height:100dvh;padding:0 16px env(safe-area-inset-bottom);margin:0 auto;position:relative;overflow:hidden}.app-frame__glow{z-index:-1;filter:blur(36px);opacity:.24;pointer-events:none;border-radius:50%;width:220px;height:220px;position:fixed}.app-frame__glow--lime{background:var(--color-lime);top:-80px;left:-90px}.app-frame__glow--pink{background:var(--color-pink);top:34vh;right:-140px}.app-header{padding:max(20px, env(safe-area-inset-top)) 0 18px;gap:16px;display:grid}.app-header__brand-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.app-header__copy{gap:6px;display:grid}.app-header__copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,9vw,3.5rem);font-weight:900;line-height:.98}.app-header__copy p{max-width:34rem;color:var(--color-muted-foreground);margin:0;font-size:.95rem;line-height:1.55}.brand-mark{align-items:center;gap:9px;font-weight:800;display:inline-flex}.brand-mark__glyph{border:1px solid var(--color-border);background:var(--color-lime);border-radius:12px;place-items:center;width:36px;height:36px;font-size:.95rem;display:grid}.school-chip,.demo-badge{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffffb3;align-items:center;gap:6px;width:fit-content;padding:8px 12px;font-size:.78rem;font-weight:650;line-height:1;display:inline-flex}.demo-badge{background:var(--color-pink)}.app-main{gap:20px;padding-bottom:32px;display:grid}.app-main--with-nav{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.surface-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:20px}.section-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:1.15rem;font-weight:800}.section-heading span{color:var(--color-muted-foreground);font-size:.8rem}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:750;transition:transform .16s,opacity .16s,box-shadow .16s;display:inline-flex}.primary-button{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.secondary-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground)}.danger-button{color:var(--color-danger);background:#b4231814;border:1px solid #b4231840}.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.danger-button:active{transform:scale(.98)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.icon-button{border:1px solid var(--color-border);width:44px;height:44px;color:inherit;cursor:pointer;background:#ffffffa6;border-radius:50%;flex:0 0 44px;place-items:center;display:inline-grid}.form-field{gap:7px;display:grid}.form-field label{font-size:.85rem;font-weight:700}.field-input,.field-select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-foreground);border-radius:16px;padding:0 14px}.field-hint{color:var(--color-muted-foreground);font-size:.78rem;line-height:1.5}.field-error{color:var(--color-danger);font-size:.82rem;font-weight:650}.status-success,.status-error,.status-info{border-radius:18px;align-items:flex-start;gap:9px;padding:13px 14px;font-size:.86rem;line-height:1.5;display:flex}.status-success{background:var(--color-mint);color:var(--color-success)}.status-error{color:var(--color-danger);background:#b4231814}.status-info{background:var(--color-sky);color:var(--color-foreground)}.bottom-nav{z-index:40;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));border:1px solid var(--color-border);width:min(100% - 32px,480px);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-radius:26px;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 auto;padding:6px;display:grid;position:fixed;left:16px}.bottom-nav__item{min-height:56px;color:var(--color-muted-foreground);border-radius:20px;place-items:center;gap:3px;font-size:.72rem;font-weight:700;transition:background .16s;display:grid}.bottom-nav__item[data-active=true]{background:var(--color-lime);color:var(--color-foreground)}.next-card{border-radius:var(--radius-card-lg);background:var(--color-lime);box-shadow:var(--shadow-soft);border:1px solid #1111112e;gap:10px;padding:20px;display:grid}.next-card__label,.next-card__footer,.course-card__top,.course-card__meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.next-card__label{font-size:.82rem;font-weight:800}.next-card__time{font-variant-numeric:tabular-nums;letter-spacing:-.085em;font-size:clamp(4.5rem,22vw,6rem);font-weight:900;line-height:.9}.next-card__course{font-size:1.2rem;font-weight:850}.next-card__footer{border-top:1px solid #11111129;align-items:flex-end;padding-top:8px;font-size:.84rem}.next-card__footer span{align-items:center;gap:5px;display:inline-flex}.next-card__footer strong{white-space:nowrap}.timeline{gap:10px;display:grid}.course-card{border:1px solid var(--color-border);border-radius:var(--radius-card);min-height:136px;color:var(--color-foreground);gap:10px;padding:16px;display:grid;position:relative;overflow:hidden}.course-card--lime{background:var(--color-lime)}.course-card--mint{background:var(--color-mint)}.course-card--pink{background:var(--color-pink)}.course-card--sky{background:var(--color-sky)}.course-card h3{letter-spacing:-.035em;max-width:calc(100% - 44px);margin:0;font-size:1.2rem;font-weight:850}.course-card__meta{color:#111111b8;flex-wrap:wrap;justify-content:flex-start;font-size:.78rem}.course-card__meta span{align-items:center;gap:5px;display:inline-flex}.course-card__arrow{background:#ffffff8c;border:1px solid #11111124;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:16px;right:16px}.course-time{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:800}.status-pill{border-radius:var(--radius-pill);width:fit-content;padding:5px 9px;font-size:.72rem;font-weight:800}.status-pill--current{background:var(--color-primary);color:var(--color-on-primary)}.status-pill--upcoming{background:#ffffffb8}.status-pill--ended{color:#11111194;background:#1111111a}.reminder-toast{z-index:60;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-pink);width:min(100% - 32px,600px);box-shadow:var(--shadow-soft);border-radius:22px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin:0 auto;padding:12px;display:grid;position:fixed;left:16px}.reminder-toast__icon{background:#ffffffb3;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.reminder-toast__copy{gap:3px;min-width:0;font-size:.82rem;display:grid}.reminder-toast__copy span,.reminder-toast__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reminder-toast a{border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);padding:8px 12px;font-size:.8rem;font-weight:750}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-card-lg);text-align:center;background:#ffffff94;place-items:center;gap:12px;min-height:220px;padding:28px 20px;display:grid}.empty-state__icon{background:var(--color-mint);border-radius:24px;place-items:center;width:72px;height:72px;display:grid}.empty-state h2,.empty-state p{margin:0}.empty-state h2{font-size:1.2rem;font-weight:850}.empty-state p{max-width:22rem;color:var(--color-muted-foreground);font-size:.88rem;line-height:1.55}.skeleton{background:linear-gradient(90deg, var(--color-muted) 25%, #ffffffb3 45%, var(--color-muted) 65%);background-size:220% 100%;border-radius:18px;animation:1.2s linear infinite shimmer;overflow:hidden}.skeleton--hero{border-radius:var(--radius-card-lg);height:230px}.skeleton--card{height:132px}.screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--color-border);min-height:52px;color:var(--color-muted-foreground);background:#fff9;border-radius:18px;align-items:center;gap:8px;padding:10px;font-size:.76rem;font-weight:700;display:flex}.steps li[data-active=true]{background:var(--color-lime);color:var(--color-foreground)}.steps strong{background:var(--color-primary);width:26px;height:26px;color:var(--color-on-primary);border-radius:50%;flex:0 0 26px;place-items:center;font-size:.75rem;display:grid}.school-list{gap:8px;display:grid}.school-option{border:1px solid var(--color-border);background:var(--color-surface);min-height:72px;color:inherit;text-align:left;cursor:pointer;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.school-option[data-active=true]{border-color:var(--color-primary);background:var(--color-mint)}.school-option:disabled{cursor:not-allowed;opacity:.62}.school-option__icon{background:var(--color-muted);border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.school-option__copy{gap:4px;min-width:0;display:grid}.school-option__copy span{color:var(--color-muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;line-height:1.4;overflow:hidden}.school-option__status{align-items:center;gap:3px;font-size:.72rem;font-weight:750;display:inline-flex}.sync-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sync-summary>div{background:var(--color-mint);border-radius:20px;gap:5px;padding:14px;display:grid}.sync-summary>div:nth-child(3){background:var(--color-lime)}.sync-summary>div:nth-child(4){background:var(--color-sky)}.sync-summary span{color:var(--color-muted-foreground);font-size:.72rem}.sync-summary strong{font-size:.94rem}.sync-course{gap:14px;display:grid}.sync-course[data-invalid=true]{border-color:#b423186b}.sync-course__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sync-course__heading h2{margin:4px 0;font-size:1.07rem;font-weight:850}.sync-course__heading p{color:var(--color-muted-foreground);margin:0;font-size:.82rem}.eyebrow{color:var(--color-muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sticky-actions{z-index:20;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid var(--color-border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-radius:24px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:sticky}.sticky-actions>div{color:var(--color-muted-foreground);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.today-tools{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-action{border:1px solid var(--color-border);background:#ffffffb8;border-radius:18px;justify-content:center;align-items:center;gap:6px;min-height:52px;font-size:.78rem;font-weight:750;display:flex}.sync-footnote{color:var(--color-muted-foreground);text-align:center;margin:0;font-size:.76rem}.week-toolbar{border:1px solid var(--color-border);background:#ffffffb8;border-radius:24px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.week-toolbar>div{text-align:center;gap:3px;display:grid}.week-toolbar>div span{color:var(--color-muted-foreground);font-size:.75rem}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.week-day{border:1px solid var(--color-border);min-height:86px;color:var(--color-muted-foreground);cursor:pointer;background:#ffffffb3;border-radius:18px;place-items:center;gap:2px;padding:7px 3px;display:grid}.week-day[data-today=true]{border-color:var(--color-primary)}.week-day[data-active=true]{background:var(--color-lime);color:var(--color-foreground)}.week-day span,.week-day small{font-size:.66rem}.week-day strong{color:var(--color-foreground);font-variant-numeric:tabular-nums;font-size:1.2rem}.week-mobile-day{gap:12px;display:grid}.week-desktop-grid{display:none}.week-column{align-content:start;gap:10px;min-width:0;display:grid}.week-column__head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:0 2px 8px;display:flex}.week-column__head span{color:var(--color-muted-foreground);font-size:.75rem}.week-column__head strong{font-size:1.2rem}.week-column__empty{border:1px dashed var(--color-border);min-height:66px;color:var(--color-muted-foreground);border-radius:16px;place-items:center;font-size:.72rem;display:grid}.week-course{border:1px solid var(--color-border);border-radius:18px;align-content:start;gap:3px;min-height:116px;padding:12px;display:grid}.week-course--lime{background:var(--color-lime)}.week-course--mint{background:var(--color-mint)}.week-course--pink{background:var(--color-pink)}.week-course--sky{background:var(--color-sky)}.week-course strong{font-variant-numeric:tabular-nums;font-size:.8rem}.week-course span{font-size:.88rem;font-weight:800;line-height:1.3}.week-course small{color:#111111a3;font-size:.7rem}.course-hero{border:1px solid var(--color-border);border-radius:var(--radius-card-lg);box-shadow:var(--shadow-soft);gap:18px;padding:22px;display:grid}.course-hero--mint{background:var(--color-mint)}.course-hero__status{border-radius:var(--radius-pill);background:#ffffff94;align-items:center;gap:6px;width:fit-content;padding:7px 10px;font-size:.75rem;font-weight:750;display:inline-flex}.course-hero h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,9vw,3.4rem);font-weight:900;line-height:1}.course-hero__time{border-block:1px solid #11111121;justify-content:space-between;align-items:baseline;gap:12px;padding-block:16px;display:flex}.course-hero__time span{font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(1.5rem,8vw,2.6rem);font-weight:900}.course-hero__time small{color:var(--color-muted-foreground);font-size:.75rem}.course-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.course-detail-grid>div{background:#ffffff8c;border-radius:18px;align-items:center;gap:10px;padding:12px;display:flex}.course-detail-grid span{gap:3px;min-width:0;display:grid}.course-detail-grid small{color:var(--color-muted-foreground);font-size:.68rem}.course-detail-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.detail-highlight{outline:2px solid var(--color-primary);outline-offset:2px}.detail-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.detail-actions .secondary-button{border-radius:18px;flex-direction:column;min-height:58px;padding:8px;font-size:.76rem}.settings-group{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-border);gap:1px;display:grid;overflow:hidden}.settings-row{background:var(--color-surface);align-items:center;gap:12px;min-height:72px;padding:12px 16px;display:flex}.settings-row__icon{border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.settings-row__icon--lime{background:var(--color-lime)}.settings-row__icon--pink{background:var(--color-pink)}.settings-row__icon--sky{background:var(--color-sky)}.settings-row__copy{flex:1;gap:3px;min-width:0;display:grid}.settings-row__copy small{color:var(--color-muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.reminder-hero{border:1px solid var(--color-border);border-radius:var(--radius-card-lg);background:var(--color-pink);align-items:center;gap:16px;padding:20px;display:flex}.reminder-hero__icon{background:#ffffffa6;border-radius:24px;flex:0 0 72px;place-items:center;width:72px;height:72px;display:grid}.reminder-hero h2{letter-spacing:-.06em;margin:4px 0;font-size:2.3rem;font-weight:900}.reminder-hero p{color:var(--color-muted-foreground);margin:0;font-size:.82rem}.permission-card{border:1px solid var(--color-border);background:var(--color-bg);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.permission-card p{color:var(--color-muted-foreground);margin:4px 0 0;font-size:.76rem;line-height:1.45}.permission-pill{border-radius:var(--radius-pill);background:var(--color-sky);white-space:nowrap;padding:5px 8px;font-size:.68rem;font-weight:800}.next-reminder{background:var(--color-lime);border-radius:18px;gap:4px;padding:14px;display:grid}.next-reminder span,.next-reminder small{color:#111111a3;font-size:.72rem}.next-reminder strong{font-size:.95rem}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.left-4{left:calc(var(--spacing) * 4)}.m-0{margin:0}.mb-0{margin-bottom:0}.flex{display:flex}.grid{display:grid}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-spin{animation:var(--animate-spin)}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.text-\[var\(--color-muted-foreground\)\]{color:var(--color-muted-foreground)}}:root{--color-bg:#f4f5ef;--color-surface:#fff;--color-foreground:#111;--color-muted:#e8eae4;--color-muted-foreground:#5f625d;--color-border:#11111124;--color-lime:#d8ff4f;--color-mint:#b9f6df;--color-pink:#ffdceb;--color-sky:#83cff5;--color-primary:#111;--color-on-primary:#fff;--color-danger:#b42318;--color-success:#166534;--color-focus:#0b63ce;--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-card:24px;--radius-card-lg:28px;--radius-pill:999px;--shadow-soft:0 8px 24px #11111114;--focus-ring:0 0 0 3px #0b63ce59;--icon-nav:20px;--icon-inline:16px;--icon-empty:48px}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-foreground);font-family:var(--font-sans);-webkit-text-size-adjust:100%}body{background:radial-gradient(circle at 8% 0%, #d8ff4f4d, transparent 22rem), radial-gradient(circle at 100% 28%, #ffdceb59, transparent 20rem), var(--color-bg);min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a.primary-button{color:var(--color-on-primary)}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{color:var(--color-foreground);background:var(--color-lime)}@keyframes shimmer{to{background-position:-220% 0}}@media (min-width:768px){.app-frame{padding-left:28px;padding-right:28px}.app-main{gap:24px}.surface-card{padding:24px}.sync-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.app-header__copy h1{max-width:760px}.bottom-nav{width:440px}.week-mobile-day{display:none}.week-desktop-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-strip{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
