:root{--bg:#fff8e9;--bg-soft:#eef6d5;--card:#fffdf7;--text:#3a2d1d;--muted:#7d6848;--primary:#7a9b2f;--secondary:#f1c979;--accent:#ef7b45;--success:#4d9f52;--warning:#c47b27;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{background:var(--poster-bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 58%, white);outline-offset:3px}a{color:inherit;text-decoration:none}.appShell{width:min(100%,460px);min-height:100vh;margin:0 auto;padding:18px 14px 28px}.homeHeader,.pageHeader,.cardTop,.editorTitleRow,.rowActions,.headerActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.homeHeader h1,.pageHeader h1,.welcomeCard h1,.timerPage h1{letter-spacing:0;margin:0;font-size:clamp(1.7rem,8vw,2.35rem)}.eyebrow{color:var(--primary);margin:0 0 4px;font-size:.8rem;font-weight:800}.button,.iconButton,.tinyButton,.parentHold,.miniActions button{background:var(--primary);color:#fff;min-height:40px;box-shadow:0 8px 18px color-mix(in srgb, var(--primary) 22%, transparent);border:0;border-radius:8px;font-weight:800}.button{justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.button.compact{min-height:34px;padding:6px 10px}.button.ghost,.button.subtle,.tinyButton,.miniActions button{background:color-mix(in srgb, var(--secondary) 38%, white);color:var(--text);box-shadow:none}.button.danger{background:#bc3d3d}.iconButton{place-items:center;width:42px;height:42px;padding:0;font-size:1.35rem;display:inline-grid}.themeSwitchButton{white-space:nowrap;background:color-mix(in srgb, var(--primary) 18%, white);min-width:86px;color:var(--primary);box-shadow:none}.parentHold{background:color-mix(in srgb, var(--primary) 14%, white);width:48px;height:42px;color:var(--primary);box-shadow:none;padding:0;font-size:.8rem}.starCounter{background:var(--card);border-radius:8px;align-items:center;gap:6px;min-width:58px;height:42px;padding:0 9px;font-size:1.1rem;font-weight:900;display:flex}.starBadge{color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;display:inline-grid}.starBadge img,.cornerStar img{object-fit:contain;width:100%;height:100%}.dateNav{grid-template-columns:42px 1fr 42px auto;align-items:center;gap:8px;margin:18px 0 12px;display:grid}.datePickerLabel{border:2px solid color-mix(in srgb, var(--secondary) 70%, white);background:var(--card);border-radius:8px;place-items:center;min-height:54px;font-weight:900;display:grid;position:relative}.datePickerLabel strong{color:var(--muted);font-size:.8rem}.datePickerLabel input{opacity:0;position:absolute;inset:0}.currentBanner,.panel,.welcomeCard,.gate,.emptyState{border:2px solid color-mix(in srgb, var(--secondary) 65%, white);background:var(--card);border-radius:8px;margin:14px 0;padding:16px}.currentBanner{gap:6px;display:grid}.currentBanner span,.currentBanner small,.rangeNotice,.cardNote,.timerDescription,.plainList,.progressItem span{color:var(--muted)}.currentBanner strong{font-size:1.35rem}.rangeNotice{background:color-mix(in srgb, var(--accent) 15%, white);border-radius:8px;margin:10px 0;padding:9px 10px;font-weight:700}.timeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.timeCard{border:2px solid color-mix(in srgb, var(--secondary) 70%, white);background:var(--card);min-height:260px;box-shadow:0 8px 22px color-mix(in srgb, var(--muted) 10%, transparent);border-radius:8px;gap:9px;padding:11px;display:grid;position:relative}.timeCard.current{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}.status-completed_on_time,.status-completed_late,.status-skipped{opacity:.82}.timeRange{font-size:.86rem;font-weight:900}.cornerStar{font-size:1.25rem}.taskImage{background:radial-gradient(circle at 25% 22%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 24%), color-mix(in srgb, var(--bg-soft) 70%, white);border:2px solid;border-radius:8px;place-items:center;min-height:78px;display:grid;position:relative}.taskImage span{font-size:2rem}.timeCard h2{min-height:44px;margin:0;font-size:1.06rem;line-height:1.25}.tagRow{flex-wrap:wrap;gap:5px;display:flex}.tagRow span{background:color-mix(in srgb, var(--secondary) 28%, white);color:var(--text);border-radius:8px;padding:4px 7px;font-size:.74rem;font-weight:800}.cardButton{width:100%;margin-top:auto}.timerShell{align-items:center;display:grid}.timerPage{text-align:center;align-content:center;gap:16px;min-height:calc(100vh - 56px);display:grid}.timerPage .taskImage{min-height:156px}.timerDialogBackdrop{align-items:center;padding:clamp(14px,3vw,28px)}.timerDialog{border:2px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--secondary) 18%, transparent), transparent 42%), var(--card);width:min(100%,520px);max-height:min(88vh,760px);padding:clamp(18px,3vw,26px);position:relative;overflow:auto;box-shadow:0 24px 60px #4c2d3a38}.timerDialog .timerPage{gap:12px;min-height:auto}.timerDialog .taskImage{aspect-ratio:1;background:0 0;border:0;justify-self:center;width:min(240px,62vw);min-height:0}.timerDialog .taskImage img{object-fit:contain;max-height:220px}.timerDialog .taskImage span{font-size:clamp(3rem,16vw,5.2rem)}.timerDialog .timerPanel,.timerDialog .timerClock{padding:12px}.timerDialog .timerClock strong{font-size:clamp(2.1rem,10vw,3rem)}.timerDialog .finishButton{min-height:48px;font-size:1rem}.timerStartPanel{padding-top:22px}.timerCloseButton{z-index:2;position:absolute;top:10px;right:10px}.timerPage .taskImage span{font-size:4.2rem}.timerEyebrow{color:var(--primary);margin:0;font-weight:900}.timerPanel,.timerClock{background:var(--card);border-radius:8px;gap:4px;padding:14px;display:grid}.timerClock strong{font-size:3rem}.finishButton{min-height:58px;font-size:1.2rem}.feedback{background:var(--card);border-radius:8px;gap:4px;margin-bottom:10px;padding:12px;display:grid}.feedback.success{border:2px solid var(--success)}.feedback.warm{border:2px solid var(--warning)}.parentPage{padding-bottom:44px}@media (width>=860px){.parentPage{width:min(100%,1120px)}.parentPage .pageHeader{z-index:8;background:color-mix(in srgb, var(--poster-bg,#fff8f3) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:-18px -18px 14px;padding:18px;position:sticky;top:0}.parentPage .generationWorkbench{border-radius:18px}.parentPage .candidateGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.parentPage .candidateCard{padding:12px}}.formGrid{gap:12px;display:grid}.formGrid.two,.actionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.scheduleLegend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:12px 0 10px;font-size:.82rem;font-weight:900;display:flex}.scheduleLegend span{align-items:center;gap:6px;display:inline-flex}.scheduleLegend i{border:1.5px solid color-mix(in srgb, var(--secondary) 70%, white);border-radius:4px;width:14px;height:14px}.legendDefault{background:color-mix(in srgb, var(--bg-soft) 72%, white)}.legendSpecial{background:#f3c2d3}.scheduleCalendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:10px 0 12px;display:grid}.calendarDay{text-align:left;min-height:76px;box-shadow:none;border:2px solid #0000;border-radius:8px;align-content:start;gap:2px;padding:8px 6px;display:grid}.calendarDay span{color:var(--text);font-size:.82rem;font-weight:950}.calendarDay strong{color:var(--muted);font-size:.68rem}.calendarDay em{border-radius:6px;width:fit-content;margin-top:4px;padding:2px 5px;font-size:.66rem;font-style:normal;font-weight:950}.calendarDay-default{background:color-mix(in srgb, var(--bg-soft) 68%, white)}.calendarDay-default em{background:color-mix(in srgb, var(--primary) 16%, white);color:var(--primary)}.calendarDay-special{background:#f8d9e3}.calendarDay-special em{color:#a9345c;background:#f8d9e3}.calendarDay.selected{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 16%, transparent)}.selectedSchedulePanel{border:2px solid color-mix(in srgb, var(--secondary) 68%, white);background:color-mix(in srgb, var(--card) 72%, white);border-radius:8px;gap:12px;padding:12px;display:grid}.selectedSchedulePanel h3{margin:0 0 4px;font-size:1rem}.selectedSchedulePanel p{color:var(--muted);margin:4px 0;font-weight:800}.schedulePreview{color:var(--text)!important}.inlineEditLink{width:fit-content;color:var(--accent);font-size:.84rem;font-weight:950}label{color:var(--muted);gap:5px;font-size:.82rem;font-weight:800;display:grid}input,select,textarea{border:2px solid color-mix(in srgb, var(--secondary) 70%, white);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:10px}textarea{resize:vertical;min-height:72px}.switchLine,.checkLine{color:var(--text);align-items:center;gap:9px;margin:10px 0;display:flex}.switchLine input,.checkLine input{width:20px}.warningBox{background:color-mix(in srgb, var(--warning) 16%, white);color:var(--text);border-radius:8px;margin-top:12px;padding:10px;font-weight:700}.warningBox p{margin:4px 0}.applyPanel{border:2px solid color-mix(in srgb, var(--primary) 48%, white);background:color-mix(in srgb, var(--bg-soft) 55%, white);border-radius:8px;gap:12px;margin-top:12px;padding:14px;display:grid}.applyPanel h2{margin:0 0 4px;font-size:1.05rem}.applyPanel p{color:var(--muted);margin:4px 0;font-weight:800}.applyWarning,.applySuccess{border-radius:8px;padding:8px 10px}.applyWarning{background:color-mix(in srgb, var(--warning) 16%, white);color:var(--text)!important}.applySuccess{background:color-mix(in srgb, var(--success) 14%, white);font-weight:900;color:var(--text)!important}.saveStatus,.undoToast{background:color-mix(in srgb, var(--success) 12%, white);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;font-size:.84rem;font-weight:800;display:flex}.saveStatus-saving{background:color-mix(in srgb, var(--warning) 16%, white)}.saveStatus-error{color:#8c2626;background:#f4e0e0}.undoToast{background:color-mix(in srgb, var(--warning) 14%, white)}.undoToast button{border-radius:8px;min-height:28px;padding:4px 8px;font-size:.78rem}@media (width<=520px){.scheduleCalendar{grid-template-columns:repeat(4,minmax(0,1fr))}.calendarDay{min-height:70px}.ipThemeHero,.ipReferenceGrid,.actionAssetSlot,.readinessMain{grid-template-columns:1fr}.ipPreviewStage{justify-self:center;width:100%;max-width:180px}.actionAssetPreview{grid-row:auto;justify-self:center;width:100%;max-width:160px}.readinessMain small{grid-column:auto}.ipPosterCells{grid-template-columns:1fr}}.editorList{gap:14px;margin-top:14px;display:grid}.editorPosterSheet{border:8px solid color-mix(in srgb, var(--theme-border) 55%, #fff);background:radial-gradient(circle,#fffffffa 0 3px,#0000 4px) 0 0/26px 26px,#fffdf9d6;border-radius:20px;margin-top:14px;padding:clamp(10px,1.8vw,18px)}.editorTablePanel{gap:10px;margin-top:14px;display:grid}.editorPosterHint{border:2px dashed color-mix(in srgb, var(--theme-border) 76%, white);background:#fffdf9db;border-radius:12px;gap:3px;margin-bottom:10px;padding:10px 12px;display:grid}.editorPosterHint strong{color:var(--accent)}.editorPosterHint span{color:var(--muted);font-size:.82rem;font-weight:700}.editorTableWrap{border:2px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:#fffdf9e6;border-radius:8px;overflow-x:auto}.editorTable{border-collapse:collapse;width:100%;min-width:980px}.editorTable th,.editorTable td{border-right:1px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 56%, white);border-bottom:1px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 56%, white);vertical-align:top;padding:8px}.editorTable th{background:color-mix(in srgb, var(--secondary) 24%, white);color:var(--text);text-align:left;font-size:.76rem}.editorTable tr.hasIssue td{background:color-mix(in srgb, var(--warning) 12%, white)}.editorTable input,.editorTable select,.editorTable textarea{border-width:1.5px;border-radius:6px;min-width:0;padding:7px 8px;font-size:.8rem}.editorTable input[type=checkbox]{width:22px;height:22px;margin-top:7px}.editorTable textarea{min-height:48px}.editorTable td:first-child{width:120px}.editorTable td:nth-child(2),.editorTable td:nth-child(3){width:92px}.editorTable td:nth-child(4){width:168px}.editorTable td:nth-child(5){width:116px}.editorTable td:nth-child(6){width:82px}.editorTable td:nth-child(7){text-align:center;width:48px}.editorTable td:nth-child(9){width:110px}.tableActions{flex-wrap:wrap;gap:5px;display:flex}.tableActions button{border-radius:6px;min-height:28px;padding:4px 7px;font-size:.72rem}.tableIssue{text-align:left;margin-top:5px}.editorTimeGrid{background:#fffdf9b8;border-top:1.5px solid #e2bec6b8;border-left:1.5px solid #e2bec6b8;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:0;overflow:hidden}.editorCard{border:2px solid color-mix(in srgb, var(--secondary) 64%, white);background:var(--card);border-radius:8px;gap:12px;padding:14px;display:grid}.editorTimeCard{min-height:250px;box-shadow:none;background:linear-gradient(#ffffff7a,#0000 28%),#fffdf9e6;border:1.5px solid #e2bec6b8;border-top:0;border-left:0;border-radius:0;align-content:start;gap:8px;padding:12px 10px 14px;position:relative}.editorTimeCard.hasIssue{background:linear-gradient(180deg, #ffffff8c, transparent 28%), color-mix(in srgb, var(--warning) 15%, #fffdf9);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--warning) 74%, white)}.editorCardActions{z-index:7;gap:4px;display:flex;position:absolute;top:8px;right:8px}.editorCardActions button,.editorQuickActions button{border:1.5px solid color-mix(in srgb, var(--theme-border) 78%, white);min-height:28px;color:var(--accent);box-shadow:none;background:#ffffffe6;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:900}.editorQuickActions .dangerTextButton{color:#b23131;border-color:#e7abab}.editorCardActions button{width:28px;padding:0}.editorTimeRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding-left:32px;display:grid}.editorTimeCard label{min-width:0;font-size:.64rem}.editorTimeCard input,.editorTimeCard select,.editorTimeCard textarea{border-width:1.5px;min-width:0;padding:7px 8px;font-size:.82rem}.editorTaskTitle input{color:var(--text);text-align:center;font-size:1rem;font-weight:900}.editorGridImage{background:0 0;justify-self:center;width:min(120px,72%)}.editorModeSelect select{font-weight:800}.deadlineHint,.blockIssue{text-align:center;margin:0;font-size:.76rem;font-weight:900}.deadlineHint{color:var(--accent)}.blockIssue{color:#9d2f21}.editorQuickActions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:auto;display:flex}.editorDetails{gap:12px;display:grid}.editorDialog{width:min(100%,760px);max-height:min(88vh,820px);overflow:auto}.dialogHeader{justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px;display:flex}.dialogHeader h2{margin:0}.iconTextButton{border-radius:8px;min-height:34px;padding:6px 10px;font-size:.8rem}.editorSubsection{border:2px dashed color-mix(in srgb, var(--theme-border,var(--secondary)) 70%, white);background:color-mix(in srgb, var(--bg-soft) 42%, white);border-radius:8px;gap:12px;padding:12px;display:grid}.editorSubsectionHeader{grid-template-columns:1fr 76px;align-items:center;gap:12px;display:grid}.editorSubsection h3{margin:0 0 4px}.editorSubsection p{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}.taskImagePreview{aspect-ratio:1;background:#fff;border-radius:8px;place-items:center;width:76px;display:grid;overflow:hidden}.taskImagePreview img{object-fit:contain;width:100%;height:100%}.taskImagePreview span{font-size:2rem}.editorTimeCard .taskIndex{position:absolute}.miniActions{flex-wrap:wrap;gap:6px;display:flex}.miniActions button{min-height:30px;padding:4px 8px;font-size:.74rem}.themeGrid{gap:12px;display:grid}@media (width>=860px){.themeGrid,.settingsThemeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.themeGrid .customThemeForm,.themeGrid .aiNextStepPanel{grid-column:1/-1}}.themeChoice{gap:8px;display:grid}.settingsThemeGrid{gap:10px;display:grid}.themeCard{text-align:left;border-radius:8px;grid-template-columns:48px 1fr;gap:4px 12px;min-height:84px;padding:14px;display:grid}.themeCard.selected{outline:3px solid var(--primary)}.themeCardTitleRow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.themeCardTitleRow em{background:color-mix(in srgb, var(--success) 16%, white);color:var(--success);border-radius:8px;padding:2px 6px;font-size:.68rem;font-style:normal;font-weight:900}.selectedThemeActions,.aiNextStepPanel{border:1.5px solid color-mix(in srgb, var(--primary) 46%, white);background:color-mix(in srgb, var(--primary) 10%, white);border-radius:8px;gap:8px;padding:10px;display:grid}.selectedThemeActions{grid-template-columns:1fr auto auto;align-items:center}.selectedThemeActions .button{white-space:nowrap}.selectedThemeActions span,.aiNextStepPanel p{color:var(--muted);font-size:.82rem;font-weight:800}.aiNextStepPanel{margin-top:12px}.aiNextStepPanel h2{margin:0 0 4px;font-size:1.05rem}.aiNextStepPanel p{margin:0;line-height:1.5}.customThemeCard{border:2px dashed color-mix(in srgb, var(--accent) 58%, white);background:color-mix(in srgb, var(--accent) 10%, white)}.customThemeCard .themeIcon{background:var(--accent)}.customThemeForm{border:2px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:var(--card);border-radius:8px;gap:12px;margin-top:12px;padding:14px;display:grid}.customThemeForm label{color:var(--muted);gap:6px;font-weight:800;display:grid}.ipThemeHero,.ipReferencePanel{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--bg-soft) 56%, white);border-radius:8px;gap:14px;padding:12px;display:grid}.ipThemeHero{grid-template-columns:112px 1fr;align-items:center}.ipThemeHero h2,.ipReferenceCopy h2{margin:0 0 6px;font-size:1.15rem}.ipThemeHero p,.ipReferenceCopy p{color:var(--muted);margin:0;font-weight:700;line-height:1.5}.ipReferenceGrid{grid-template-columns:132px 1fr;align-items:start;gap:12px;display:grid}.ipReferenceFields{gap:10px;display:grid}.ipPreviewStage{aspect-ratio:1;border:2px solid;border-radius:8px;place-items:center;width:132px;display:grid;overflow:hidden}.ipPreviewStage img{object-fit:contain;width:100%;height:100%}.ipPreviewStage span{color:var(--muted);font-weight:900}.creationReadiness{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--bg-soft) 56%, white);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.creationReadiness span{color:var(--warning);font-weight:900}.creationReadiness span.ready{color:var(--success)}.creationReadiness p{color:var(--muted);margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.themeCreationAdvanced{padding:0}.customThemeForm input:not([type=color]),.customThemeForm textarea,.assetCard textarea,.assetCard input:not([type=file]){border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px}.customThemeForm textarea,.assetCard textarea{resize:vertical;overflow-wrap:anywhere}.assetFieldset{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.assetFieldset legend{color:var(--text);padding:0 6px;font-weight:900}.actionAssetFieldset{gap:12px}.actionAssetGrid{gap:10px;display:grid}.actionAssetSlot{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--card) 72%, white);border-radius:8px;grid-template-columns:72px 1fr;gap:8px 12px;min-width:0;padding:10px;display:grid}.actionAssetPreview{aspect-ratio:1;background:color-mix(in srgb, var(--bg-soft) 50%, white);width:72px;color:var(--muted);border-radius:8px;grid-row:span 3;place-items:center;font-size:.82rem;font-weight:900;display:grid;overflow:hidden}.actionAssetPreview img{object-fit:contain;width:100%;height:100%}.actionAssetPreview.pendingGeneration{border:1.5px dashed color-mix(in srgb, var(--warning) 46%, white);background:color-mix(in srgb, var(--warning) 10%, white)}.actionAssetSlot h3{margin:0;font-size:1rem}.actionAssetSlot small,.assetPromptHint{color:var(--muted);font-weight:700}.assetPromptHint{margin:0;font-size:.76rem}.themeReadinessPanel,.readinessMain,.readinessList{gap:10px;display:grid}.readinessMain{grid-template-columns:auto 1fr;align-items:center}.readinessMain span,.readinessList span{background:color-mix(in srgb, var(--warning) 14%, white);min-height:30px;color:var(--muted);border-radius:8px;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-grid}.readinessMain span.ready,.readinessList span.ready{background:color-mix(in srgb, var(--success) 16%, white);color:var(--success)}.readinessMain strong{font-size:1.08rem}.readinessMain small{color:var(--muted);grid-column:2}.readinessList{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.readinessList span{justify-items:center;gap:2px}.readinessList em{opacity:.86;font-size:.68rem;font-style:normal}.ipPosterPreview{border:2px solid;border-radius:8px;gap:10px;padding:12px;display:grid}.ipPosterHeader{grid-template-columns:72px 1fr;align-items:center;gap:12px;display:grid}.ipPosterHeader img,.ipPosterHeader>span{aspect-ratio:1;background:color-mix(in srgb, var(--bg-soft) 50%, white);object-fit:contain;border-radius:8px;place-items:center;width:72px;font-weight:900;display:grid}.ipPosterHeader div{gap:4px;display:grid}.ipPosterHeader small{color:var(--muted)}.ipPosterCells{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ipPosterCells span{border:1.5px dashed color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:#ffffffa3;border-radius:8px;place-items:center;gap:6px;min-height:88px;padding:8px;display:grid}.ipPosterCells img{aspect-ratio:1;object-fit:contain;width:48px}.ipPosterCells b{font-size:.8rem}.colorFieldGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.colorFieldGrid input[type=color]{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);background:#fff;border-radius:8px;width:100%;height:42px;padding:4px}.customThemePreview{border:2px solid;border-radius:8px;grid-template-columns:48px 1fr;align-items:center;gap:12px;min-height:82px;padding:12px;display:grid}.customThemePreview>span{color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.customThemePreview div{gap:4px;display:grid}.customThemePreview small{color:var(--muted)}.formActions{flex-wrap:wrap;gap:10px;display:flex}.themeIcon{color:#fff;border-radius:8px;grid-row:span 2;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.themeIcon img{object-fit:contain;width:100%;height:100%}.progressList{gap:10px;display:grid}.progressItem{background:color-mix(in srgb, var(--bg-soft) 45%, white);border-radius:8px;gap:8px;padding:10px;display:grid}.dialogBackdrop{z-index:20;background:#00000052;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:8px;width:min(100%,360px);padding:18px}.assetSection{margin:14px 0}.generationWorkbench{border:2px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);background:color-mix(in srgb, var(--card) 84%, white);border-radius:16px;gap:16px;margin:14px 0;padding:clamp(14px,2.5vw,24px);display:grid}.generationIntro{justify-content:space-between;align-items:end;gap:16px;display:flex}.generationIntro h2{max-width:720px;margin:0 0 6px;font-size:clamp(1.25rem,2.5vw,1.8rem)}.generationIntro p{max-width:720px;color:var(--muted);margin:0;font-weight:700;line-height:1.55}.generationCount{background:color-mix(in srgb, var(--secondary) 22%, white);color:var(--muted);border-radius:8px;flex:none;padding:8px 10px;font-size:.8rem;font-weight:900}.generationCount strong{color:var(--text);font-size:1.3rem}.generationWorkbench>.generationSteps{position:relative}.generationStep{transition:border-color .16s,background .16s,box-shadow .16s}.generationStep:not(.active):not(.complete){opacity:.82}.generationSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.generationStep{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--bg-soft) 50%, white);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-width:0;padding:12px;display:grid}.generationStep.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent)}.generationStep.complete{background:color-mix(in srgb, var(--success) 9%, white)}.generationStep h3,.generationStep p{margin:0}.generationStep h3{font-size:.98rem}.generationStep p{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.35}.stepNumber{background:var(--secondary);width:28px;height:28px;color:var(--text);border-radius:50%;place-items:center;font-weight:900;display:grid}.generationStep>button,.generationStep>.uploadButton,.generationStep>img{grid-column:1/-1;width:100%}.generationStep>img{object-fit:contain;background:color-mix(in srgb, var(--bg-soft) 40%, white);border-radius:8px;height:110px}.uploadButton{background:var(--primary);color:#fff;cursor:pointer;text-align:center;border-radius:8px;place-items:center;min-height:38px;padding:8px 10px;font-weight:900;display:grid}.uploadButton input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.replaceUploadButton{color:var(--primary);cursor:pointer;text-align:center;grid-column:1/-1;font-size:.76rem;font-weight:900;display:block}.replaceUploadButton input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.generationMessage{background:color-mix(in srgb, var(--primary) 10%, white);color:var(--text);border-radius:8px;margin:0;padding:10px 12px;font-weight:800;line-height:1.45}.referenceWarning{border:1px solid color-mix(in srgb, var(--warning) 45%, white);background:color-mix(in srgb, var(--warning) 10%, white);color:var(--text);border-radius:8px;margin:0;padding:10px 12px;font-weight:800;line-height:1.45}.generationStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.generationStats span{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);min-height:54px;color:var(--muted);border-radius:8px;align-content:center;gap:2px;padding:8px 10px;font-size:.76rem;font-weight:900;display:grid}.generationStats strong{color:var(--text);font-size:1.35rem;line-height:1}.appliedSummary{border:1px solid var(--border-color,#ead8cf);background:#fffdf9d1;border-radius:8px;gap:4px;margin:16px 0 22px;padding:14px 16px;display:grid}.appliedSummary strong{color:var(--text-color,#4a3b3d)}.appliedSummary span,.appliedSummary small{color:var(--muted-text,#887477)}.candidateSection{gap:10px;scroll-margin-top:88px;display:grid}.candidateGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.candidateCard{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:var(--card);border-radius:10px;gap:8px;min-width:0;padding:10px;display:grid}.candidateCard-applied .candidateActions .button.ghost{color:var(--success);border:1px solid color-mix(in srgb, var(--success) 35%, white);background:color-mix(in srgb, var(--success) 10%, white)}.candidateCard-generating{border-color:var(--warning)}.candidateCard-success{border-color:var(--success)}.candidateCard-demo{border-color:color-mix(in srgb, var(--warning) 66%, white)}.candidateCard-applied{border-color:var(--success);box-shadow:0 0 0 2px color-mix(in srgb, var(--success) 14%, transparent)}.candidateHeader{justify-content:space-between;align-items:start;gap:8px;display:flex}.candidateHeader h3,.candidateHeader span{margin:0;display:block}.candidateHeader h3{font-size:.95rem}.candidateHeader span,.candidateHeader em{color:var(--muted);font-size:.7rem;font-style:normal;font-weight:900}.candidateHeader em{background:color-mix(in srgb, var(--secondary) 20%, white);border-radius:8px;flex:none;padding:3px 6px}.candidateCard-success .candidateHeader em{background:color-mix(in srgb, var(--success) 16%, white);color:var(--success)}.candidateCard-error .candidateHeader em{color:#8c2626;background:#f6e4e4}.candidateCard-demo .candidateHeader em{background:color-mix(in srgb, var(--warning) 16%, white);color:var(--warning)}.candidateCard-applied .candidateHeader em{background:color-mix(in srgb, var(--success) 16%, white);color:var(--success)}.candidateHistory{background:color-mix(in srgb, var(--secondary) 9%, white);border-radius:8px;gap:5px;padding:6px;display:grid}.candidateHistory>span{color:var(--muted);font-size:.7rem;font-weight:900}.candidateHistory>div{flex-wrap:wrap;gap:5px;display:flex}.candidateHistoryItem{border:1px solid var(--border-color,#ead8cf);background:var(--card);width:52px;color:var(--primary);cursor:pointer;font:inherit;border-radius:6px;gap:2px;padding:2px;font-size:.58rem;font-weight:900;display:grid}.candidateHistoryItem img{object-fit:contain;border-radius:4px;width:46px;height:46px}.candidateCard img,.candidatePlaceholder{aspect-ratio:1;object-fit:contain;background:color-mix(in srgb, var(--bg-soft) 50%, white);border-radius:8px;width:100%}.candidatePlaceholder{color:var(--muted);place-items:center;font-size:.8rem;font-weight:900;display:grid}.candidateActions,.advancedActions{flex-wrap:wrap;gap:6px;display:flex}.generationError{color:#8c2626;background:#f7e8e8;border-radius:8px;margin:0;padding:7px 8px;font-size:.74rem;font-weight:800;line-height:1.4}.appliedNotice{background:color-mix(in srgb, var(--success) 12%, white);color:var(--success);border-radius:8px;margin:0;padding:7px 8px;font-size:.74rem;font-weight:800;line-height:1.4}.candidatePromptDetails{border-top:1px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 45%, white);padding-top:6px}.candidatePromptDetails summary{color:var(--primary);cursor:pointer;font-size:.76rem;font-weight:900}.candidatePromptDetails label{gap:4px;margin-top:6px;display:grid}.candidatePromptDetails label span,.candidatePromptDetails small{color:var(--muted);font-size:.7rem;font-weight:800;line-height:1.35}.candidatePromptDetails textarea{resize:vertical;border:1px solid var(--border-color,#ead8cf);width:100%;min-height:52px;color:var(--text-color,#4a3b3d);background:var(--card);font:inherit;border-radius:6px;padding:7px;font-size:.76rem}.advancedDetails{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--card) 86%, white);border-radius:10px;margin:14px 0}.advancedDetails summary{color:var(--muted);cursor:pointer;padding:12px 14px;font-weight:900}.advancedDetailsBody{gap:10px;padding:0 14px 14px;display:grid}.advancedDetailsBody>.assetSection{margin:0}.advancedPromptText{border:1.5px dashed color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--bg-soft) 46%, white);width:100%;min-height:220px;color:var(--muted);overflow-wrap:anywhere;resize:vertical;border-radius:8px;padding:10px;font-size:.78rem;line-height:1.45}.advancedTaskList{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;display:grid}.advancedTaskList span{background:color-mix(in srgb, var(--bg-soft) 50%, white);border-radius:8px;justify-content:space-between;gap:8px;padding:8px 9px;font-size:.76rem;display:flex}.advancedTaskList em{color:var(--muted);font-style:normal;font-weight:800}@media (width<=760px){.generationIntro{align-items:start;display:grid}.generationSteps,.generationStats{grid-template-columns:1fr 1fr}.generationStep:first-child{grid-column:1/-1}}@media (width<=520px){.parentPage .pageHeader{align-items:flex-start}.parentPage .pageHeader .button{flex:none}.selectedThemeActions,.generationSteps,.generationStats{grid-template-columns:1fr}.generationStep:first-child{grid-column:auto}.generationIntro h2{font-size:1.25rem}}.sectionTitleRow{align-items:start;gap:10px;margin-bottom:10px;display:grid}.sectionTitleRow h2{margin:0 0 4px}.readinessStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.readinessStats span{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--card) 72%, white);min-height:54px;color:var(--muted);border-radius:8px;align-content:center;gap:2px;padding:8px 10px;font-size:.76rem;font-weight:900;display:grid}.readinessStats span.ready{color:var(--success)}.readinessStats strong{color:var(--text);font-size:1.35rem;line-height:1}.promptPackGrid{gap:10px;display:grid}.promptCard{border:1.5px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:var(--card);border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.promptCard header{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.promptCard header span,.promptCard header em{background:color-mix(in srgb, var(--secondary) 18%, white);color:var(--muted);border-radius:8px;padding:3px 7px;font-size:.7rem;font-style:normal;font-weight:900}.promptCard-ready header em{background:color-mix(in srgb, var(--success) 16%, white);color:var(--success)}.promptCard-reference-fallback header em,.promptCard-missing header em{background:color-mix(in srgb, var(--warning) 15%, white);color:var(--warning)}.promptCard textarea{border:1.5px dashed color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);background:color-mix(in srgb, var(--bg-soft) 46%, white);width:100%;min-height:132px;color:var(--text);resize:vertical;border-radius:8px;padding:8px 10px}.generatedCandidate{border:1.5px solid color-mix(in srgb, var(--success) 32%, white);background:color-mix(in srgb, var(--success) 8%, white);border-radius:8px;gap:8px;padding:8px;display:grid}.generatedCandidate img{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:8px;width:100%}.assetGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.assetCard,.assetPreview{border:2px solid color-mix(in srgb, var(--theme-border,var(--secondary)) 72%, white);background:var(--card);border-radius:8px;gap:8px;padding:12px;display:grid}.assetCard label{min-width:0;color:var(--muted);gap:6px;font-weight:800;display:grid}.assetCard input[type=file]{width:100%;min-width:0;color:var(--muted)}.assetVariantEditor{border:1.5px dashed color-mix(in srgb, var(--theme-border,var(--secondary)) 62%, white);border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.assetPreview img,.previewImage{aspect-ratio:1;object-fit:contain;background:color-mix(in srgb, var(--bg-soft) 50%, white);border-radius:10px;width:100%}.assetPreview span,.assetPlaceholder{aspect-ratio:1;background:color-mix(in srgb, var(--bg-soft) 50%, white);color:var(--muted);border-radius:10px;place-items:center;font-weight:800;display:grid}.assetCard code,.assetPreview code{overflow-wrap:anywhere;color:var(--muted);font-size:.72rem}.miniPoster{background:var(--poster-panel);color:var(--accent);text-align:center;border-radius:18px;grid-template-columns:84px 1fr 84px;align-items:center;gap:12px;padding:16px;display:grid}.miniPoster img{aspect-ratio:1;object-fit:contain;width:84px}.miniPoster strong{font-family:var(--title-font);font-size:1.7rem}.plainList{text-align:left;padding-left:20px}.visuallyHidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=860px){.appShell{width:min(100%,860px)}.timeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.timerShell,.onboarding{width:min(100%,560px)}.scheduleEditorPage{width:min(100%,1120px)}.scheduleEditorPage .editorTimeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.sectionTitleRow{grid-template-columns:minmax(0,1fr) auto}.readinessStats{grid-template-columns:repeat(4,minmax(0,1fr))}.promptPackGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.posterShell{background:radial-gradient(circle at 16% 15%, #ffffff2e, transparent 19%), linear-gradient(180deg, var(--poster-bg), color-mix(in srgb, var(--poster-bg) 84%, white));width:min(100%,1240px);min-height:100vh;padding:clamp(12px,2.6vw,32px);position:relative}.theme-campus.posterShell{background:linear-gradient(90deg,#ffffff42 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#ffffff38 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#fff7f4,#fff2ef 58%,#fff8f3);border-radius:clamp(22px,3vw,38px);padding:clamp(34px,4vw,56px);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.theme-campus.posterShell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#fffffff0 0 4px,#0000 5px) 0 0/27px 27px,linear-gradient(135deg,#ffdae26b,#fff4f72e);border:clamp(10px,1.45vw,18px) solid #efabbc;border-radius:clamp(24px,3.4vw,46px);position:absolute;inset:clamp(8px,1.2vw,16px);box-shadow:inset 0 0 0 2px #fffcf9b8,0 0 0 1px #c85d782e}.theme-campus.posterShell:after{content:"";z-index:0;pointer-events:none;border:2px dashed #c85d7838;border-radius:clamp(18px,2.4vw,34px);position:absolute;inset:clamp(26px,3vw,42px)}.posterShell>:not(.posterFrameDecor){z-index:2;position:relative}.posterFrameDecor{z-index:1;pointer-events:none;position:absolute;inset:0}.frameBow{filter:drop-shadow(0 5px #c85d781a);width:clamp(58px,8vw,112px);height:clamp(42px,6vw,82px);position:absolute}.frameBow:before,.frameBow:after{content:"";background:radial-gradient(circle,#ffffffd9 0 3px,#0000 4px) 4px 5px/18px 18px,#f3aebe;border:2px solid #c85d786b;width:48%;height:62%;position:absolute;top:22%}.frameBow:before{border-radius:56% 36% 42% 58%;left:2%;transform:rotate(-18deg)}.frameBow:after{border-radius:36% 56% 58% 42%;right:2%;transform:rotate(18deg)}.frameBowTopLeft{top:clamp(4px,1vw,14px);left:clamp(8px,1.5vw,20px);transform:rotate(-10deg)}.frameBowTopRight{top:clamp(4px,1vw,14px);right:clamp(8px,1.5vw,20px);transform:rotate(10deg)}.frameBowBottomLeft{bottom:clamp(6px,1.2vw,16px);left:clamp(10px,1.7vw,24px);transform:rotate(8deg)}.frameBowBottomRight{bottom:clamp(6px,1.2vw,16px);right:clamp(10px,1.7vw,24px);transform:rotate(-8deg)}.frameFlourish{color:#dd7893;font-family:var(--title-font);text-shadow:1px 1px #fff9fb;font-weight:900;line-height:1;position:absolute}.frameFlourish:before{content:attr(data-symbol)}.frameHeartOne{font-size:clamp(1.35rem,2.2vw,2.2rem);top:clamp(42px,5vw,76px);left:clamp(132px,14vw,218px);transform:rotate(-13deg)}.frameHeartTwo{color:#eaa0ad;font-size:clamp(1.1rem,1.8vw,1.8rem);bottom:clamp(42px,5vw,74px);right:clamp(94px,10vw,170px);transform:rotate(18deg)}.frameFlowerOne{color:#ee91a8;font-size:clamp(1.4rem,2.3vw,2.4rem);bottom:clamp(132px,12vw,190px);left:clamp(38px,4.8vw,78px);transform:rotate(-8deg)}.frameFlowerTwo{color:#e6b657;font-size:clamp(1.25rem,2vw,2rem);bottom:clamp(102px,10vw,170px);right:clamp(36px,4.8vw,76px);transform:rotate(12deg)}.posterHero{grid-template-columns:minmax(0,1fr) minmax(90px,210px);align-items:center;gap:clamp(8px,2vw,24px);min-height:clamp(148px,24vw,330px);padding:clamp(12px,2vw,28px) clamp(8px,2vw,24px) 10px;display:grid;position:relative;overflow:hidden}.posterHeadline{z-index:2;min-width:0;position:relative}.posterKicker{border:3px solid var(--poster-stroke);background:var(--poster-brush);color:var(--poster-stroke);border-radius:8px;margin:0 0 4px;padding:4px 10px;font-size:clamp(.8rem,2vw,1.25rem);font-weight:1000;display:inline-block}.posterHeadline h1{color:var(--poster-title);letter-spacing:0;text-shadow:4px 0 var(--poster-stroke), -4px 0 var(--poster-stroke), 0 4px var(--poster-stroke), 0 -4px var(--poster-stroke), 8px 8px 0 #0000003d;flex-wrap:wrap;gap:0 clamp(10px,2vw,24px);margin:0;font-size:clamp(3.2rem,12vw,8.6rem);font-weight:1000;line-height:.95;display:flex}.theme-campus .posterHero{border:2px solid color-mix(in srgb, var(--theme-border) 62%, #fff);background:radial-gradient(circle at 10% 78%,#fad89a57 0 34px,#0000 35px),radial-gradient(circle at 88% 18%,#e99bb038 0 42px,#0000 43px),radial-gradient(circle,#ffffffb8 0 2px,#0000 3px) 7px 14px/24px 24px,linear-gradient(135deg,#fffdf9fa,#fff4efe6);border-radius:26px;grid-template-columns:1fr;align-items:center;min-height:clamp(156px,18vw,236px);padding:clamp(20px,2.4vw,30px) clamp(22px,3.4vw,48px) clamp(18px,2.2vw,28px);box-shadow:inset 0 0 0 9px #fffdf9c2,inset 0 0 0 15px #f4b9c93d,0 12px 24px #c85d781a}.theme-campus .posterHero:before,.theme-campus .posterHero:after{content:"";z-index:0;pointer-events:none;position:absolute}.theme-campus .posterHero:before{background:radial-gradient(circle,#fffffff2 0 4px,#0000 5px) 0/28px 100% repeat-x,linear-gradient(#f4a6bcb8,#f4a6bc6b);border-radius:999px;height:clamp(14px,1.5vw,20px);top:clamp(9px,1.2vw,14px);left:clamp(18px,3vw,40px);right:clamp(18px,3vw,40px);box-shadow:0 2px #fffdf9e6,0 8px 18px #c85d7814}.theme-campus .posterHero:after{border:2px dashed color-mix(in srgb, var(--theme-border) 48%, #fff);background:linear-gradient(#fffdf952,#fffdf98f);border-radius:22px;inset:clamp(28px,3vw,42px) clamp(20px,3vw,38px) clamp(14px,1.8vw,22px)}.posterHeroScene{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.heroSceneRibbon{background:linear-gradient(90deg,#0000,#e2bec6cc 12% 88%,#0000),repeating-linear-gradient(90deg,#0000 0 46px,#78a95d6b 46px 50px,#0000 50px 88px);border-radius:999px;height:3px;position:absolute;top:clamp(44px,4vw,60px);left:clamp(24px,4vw,54px);right:clamp(24px,4vw,54px)}.heroSceneConfetti,.heroSceneProp{color:color-mix(in srgb, var(--accent) 82%, #fff);font-family:var(--title-font);place-items:center;font-weight:900;line-height:1;display:grid;position:absolute}.heroSceneConfetti:before,.heroSceneProp:before{content:""}.confettiOne{color:#e6b657;font-size:clamp(1.1rem,2vw,1.7rem);top:26%;left:29%;transform:rotate(-14deg)}.confettiOne:before{content:"★"}.confettiTwo{color:#74ad64;font-size:clamp(1.2rem,2.2vw,1.85rem);top:28%;right:28%;transform:rotate(12deg)}.confettiTwo:before{content:"☆"}.confettiThree{color:#df7fa6;font-size:clamp(1rem,1.8vw,1.55rem);bottom:24%;right:37%;transform:rotate(10deg)}.confettiThree:before{content:"♡"}.propBook{background:linear-gradient(90deg,#0000 48%,#7b4a5738 49% 51%,#0000 52%),linear-gradient(135deg,#fff8fb 0 48%,#fff0d8 49% 100%);border:3px solid #7b4a5752;border-radius:7px 7px 13px 13px;width:clamp(42px,5.5vw,72px);height:clamp(30px,4vw,48px);bottom:clamp(18px,3vw,34px);right:clamp(120px,17vw,248px);transform:rotate(-7deg);box-shadow:0 4px #e99bb029}.propBall{aspect-ratio:1;background:conic-gradient(from 18deg, #8dc4de 0 25%, #f4d991 0 50%, #e99bb0 0 75%, #fff 0), #fff;border:3px solid #7b4a5757;border-radius:50%;width:clamp(34px,4.8vw,62px);bottom:clamp(24px,3.3vw,42px);left:clamp(122px,16vw,242px);transform:rotate(14deg);box-shadow:0 4px #e99bb029}.theme-campus .posterHeadline{text-align:center;width:100%;max-width:960px;margin-inline:auto;padding-inline:clamp(128px,16vw,230px)}.theme-campus .posterKicker{color:var(--accent);text-shadow:1px 0 #fff8fb,-1px 0 #fff8fb,0 1px #fff8fb,0 -1px #fff8fb;background:0 0;border:0;margin-bottom:clamp(3px,.7vw,7px);font-size:clamp(.9rem,1.6vw,1.35rem);font-weight:900}.theme-campus .posterHeadline h1{font-family:var(--title-font);font-size:clamp(2rem,4.8vw,4rem);font-weight:var(--title-weight);overflow-wrap:normal;text-wrap:balance;text-shadow:2px 0 #fff8fb,-2px 0 #fff8fb,0 2px #fff8fb,0 -2px #fff8fb,0 6px #c85d781f;justify-content:center;align-items:baseline;line-height:1.08}.theme-campus .headlineMonth{color:#e97f91;transform:rotate(-2deg)}.theme-campus .headlineCount{color:#ef8a8f;letter-spacing:0;font-size:1.34em;transform:translateY(.03em)rotate(1deg)}.theme-campus .headlineUnit{color:#df7fa6}.theme-campus .headlineUnit:first-letter{color:#4c90c6}.theme-campus .headlineMonth:first-letter{color:#e57786}.theme-campus .posterSubtitle{color:var(--muted);font-family:var(--body-font);text-shadow:none;margin-inline:auto;font-size:clamp(.82rem,1.45vw,1.08rem);font-weight:800}.theme-campus .posterSubtitle strong{color:var(--accent)}.theme-campus .posterSubtitle:after{background:color-mix(in srgb, var(--secondary) 55%, transparent);border-radius:999px;height:10px;bottom:-5px}.posterDoodles{color:color-mix(in srgb, var(--accent) 75%, #fff);pointer-events:none;gap:10px;font-size:clamp(1rem,2.1vw,1.55rem);font-weight:900;display:flex;position:absolute;inset:-18px -2px auto auto}.posterDoodles span:first-child{transform:translateY(24px)rotate(-14deg)}.posterDoodles span:nth-child(2){color:color-mix(in srgb, var(--secondary) 78%, var(--accent));transform:rotate(12deg)}.posterDoodles span:nth-child(3){color:#78a95d;transform:translateY(17px)rotate(9deg)}.posterHeroAsset{z-index:1;object-fit:contain;pointer-events:none;position:absolute}.posterHeroAsset.heroLeft{filter:drop-shadow(0 10px 10px #c85d781f);width:clamp(118px,15vw,190px);bottom:clamp(12px,1.9vw,24px);left:clamp(18px,3vw,42px);transform:rotate(-6deg)}.posterHeroAsset.heroRight{aspect-ratio:1;filter:drop-shadow(0 7px 10px #c85d7821);width:clamp(104px,13vw,168px);bottom:clamp(12px,1.9vw,24px);right:clamp(22px,3.2vw,48px);transform:rotate(4deg)}.theme-campus .posterLogo{z-index:2;min-height:auto;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:absolute;top:clamp(38px,4vw,54px);right:clamp(32px,4vw,66px)}.posterLogo img{aspect-ratio:1;object-fit:contain;width:clamp(56px,8vw,112px)}.theme-campus .posterLogo strong{color:var(--accent);font-size:clamp(.72rem,1.3vw,.96rem)}.theme-campus .posterLogo small{color:var(--muted)}.posterThemePill{border:2px solid color-mix(in srgb, var(--theme-border) 75%, #fff);background:#fffdf9eb;border-radius:999px;justify-items:center;margin:0;padding:6px 12px;display:inline-grid;box-shadow:0 5px 12px #c85d781a}.posterSubtitle{color:#fff;letter-spacing:0;width:fit-content;text-shadow:3px 0 var(--poster-stroke), -3px 0 var(--poster-stroke), 0 3px var(--poster-stroke), 0 -3px var(--poster-stroke), 6px 6px 0 #0000002e;margin:clamp(6px,1vw,10px) 0 0;font-size:clamp(1.45rem,5vw,4rem);font-weight:1000;line-height:1.05;position:relative}.posterSubtitle:after{content:"";background:linear-gradient(90deg, transparent, var(--poster-brush) 8%, var(--poster-brush) 92%, transparent), repeating-linear-gradient(95deg, transparent 0 10px, #ffffff8c 10px 14px);z-index:-1;height:clamp(10px,2vw,20px);position:absolute;bottom:-8px;left:-1%;right:-4%}.posterSubtitle strong{color:var(--poster-title-accent)}.posterLogo{background:var(--poster-logo);min-height:clamp(86px,14vw,190px);color:var(--poster-stroke);text-align:center;border:4px solid #0000002e;border-top:0;border-radius:0 0 24px 24px;justify-items:center;gap:2px;padding:clamp(10px,2vw,18px);display:grid;box-shadow:8px 10px #00000024}.posterLogo span{color:var(--poster-title-accent);font-size:clamp(1.8rem,5vw,4rem);line-height:1}.posterLogo strong{font-size:clamp(.98rem,2.3vw,2rem);line-height:1.1}.posterLogo small{font-size:.65rem;font-weight:900}.posterControls{border:2px dashed color-mix(in srgb, var(--theme-border) 72%, white);background:#fffdf9b8;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:8px;display:grid}.posterControls .dateNav{margin:0}.posterActions{align-items:center;gap:8px;display:flex}.posterSheet{border:clamp(6px, 1vw, 10px) solid var(--poster-panel);background:var(--poster-panel);padding:clamp(10px,1.8vw,22px);position:relative;box-shadow:0 18px 36px #0000002e}.theme-campus .posterSheet{isolation:isolate;border:10px solid color-mix(in srgb, var(--theme-border) 55%, #fff);background:radial-gradient(circle, #fffffffa 0 3px, transparent 4px) 0 0 / 26px 26px, linear-gradient(#ffffff0e 1px, transparent 1px), linear-gradient(90deg, #ffffff0e 1px, transparent 1px), var(--poster-panel);background-size:26px 26px,18px 18px,18px 18px,auto;border-radius:24px;box-shadow:0 14px 30px #c85d781f,inset 0 0 0 6px #fffdf9eb}.theme-campus .posterSheet>*{z-index:1;position:relative}.posterSheet .currentBanner{border:2px dashed var(--poster-grid);background:color-mix(in srgb, var(--poster-paper) 86%, white);margin:0 0 12px}.theme-campus .posterSheet .currentBanner{border-color:color-mix(in srgb, var(--theme-border) 78%, #fff);background:#fffdf9d1;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;padding:8px 12px;display:flex}.theme-campus .posterSheet .currentBanner span,.theme-campus .posterSheet .currentBanner small{font-size:clamp(.64rem,1.25vw,.82rem);font-weight:800}.theme-campus .posterSheet .currentBanner strong{color:var(--accent);overflow-wrap:anywhere;min-width:min(100%,12em);font-size:clamp(.82rem,1.55vw,1.05rem)}.theme-campus .posterSheet .currentBanner small{text-align:right;margin-left:auto}.theme-campus .posterSheet .currentBanner .button{min-height:28px;padding:4px 8px;font-size:.72rem}.posterSheet .rangeNotice{border:2px dashed var(--poster-grid);background:var(--poster-paper);margin:0 0 10px}.posterSheet .timeGrid{border-top:2px dashed var(--poster-grid);border-left:2px dashed var(--poster-grid);background:var(--poster-panel);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.theme-campus .posterSheet .timeGrid{background:#fffdf9b8;border-top:1.5px solid #e2bec6b8;border-left:1.5px solid #e2bec6b8;border-radius:16px;gap:0;overflow:hidden}.posterSheet .timeCard{border:0;border-right:2px dashed var(--poster-grid);border-bottom:2px dashed var(--poster-grid);background:var(--poster-panel);min-height:auto;box-shadow:none;text-align:center;border-radius:0;gap:4px;padding:clamp(8px,2.4vw,18px) clamp(8px,2.4vw,18px) clamp(34px,4vw,46px);overflow:hidden}.theme-campus .posterSheet .timeCard{min-height:auto;box-shadow:none;background:linear-gradient(#ffffff6b,#0000 28%),#fffdf9e6;border:1.5px solid #e2bec6b8;border-top:0;border-left:0;border-radius:0;gap:clamp(2px,.7vw,6px);padding:clamp(8px,1.55vw,15px) clamp(8px,1.45vw,14px) clamp(28px,3.6vw,42px)}.theme-campus .posterSheet .timeCard.current{border-color:var(--accent);background:linear-gradient(#fffdf9,#fff7f4);box-shadow:inset 0 0 0 2px #c85d7894}.posterSheet .timeCard.current{box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--primary) 16%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--poster-paper) 55%, white), var(--poster-panel))}.posterCellText{align-content:start;gap:2px;min-height:clamp(44px,7vw,74px);padding-inline:clamp(22px,3.6vw,38px) 4px;display:grid;position:relative}.taskIndex{z-index:6;color:#fff;width:clamp(22px,3.2vw,34px);height:clamp(22px,3.2vw,34px);font-family:var(--title-font);background:#d798c8;border:2px solid #ffffffd6;border-radius:50%;place-items:center;font-size:clamp(.78rem,1.7vw,1.08rem);font-weight:900;line-height:1;display:grid;position:absolute;top:clamp(6px,1vw,10px);left:clamp(6px,1vw,10px);box-shadow:0 2px #c85d7829}.timeCard:nth-child(6n+1) .taskIndex{background:#a98ccf}.timeCard:nth-child(6n+2) .taskIndex{background:#ef8b83}.timeCard:nth-child(6n+3) .taskIndex{background:#8fba64}.timeCard:nth-child(6n+4) .taskIndex{background:#b99bd3}.timeCard:nth-child(6n+5) .taskIndex{background:#69a6d3}.timeCard:nth-child(6n) .taskIndex{background:#ee988d}.posterSheet .timeRange{color:#1d1d1d;letter-spacing:0;font-size:clamp(.94rem,3.2vw,2rem);font-weight:500;line-height:1.1}.theme-campus .posterSheet .timeRange{color:color-mix(in srgb, var(--muted) 84%, var(--accent));font-size:clamp(.62rem,1.62vw,.92rem);font-weight:800}.posterSheet .timeCard h2{color:#202020;letter-spacing:0;min-height:auto;margin:0;font-size:clamp(.84rem,2.9vw,1.6rem);font-weight:500;line-height:1.18}.theme-campus .posterSheet .timeCard h2{color:var(--text);min-height:2.25em;font-size:clamp(.76rem,2.05vw,1.06rem);font-weight:800}.posterSheet .taskImage{display:none}.theme-campus .posterSheet .taskImage{background:0 0;border:0;border-radius:0;place-items:center;min-height:clamp(78px,18vw,148px);display:grid}.theme-campus .posterSheet .taskImage:before,.theme-campus .posterSheet .taskImage:after{display:none}.posterSheet .taskImage:before,.posterSheet .taskImage:after{content:"";pointer-events:none;border:3px solid #232323b8;position:absolute}.posterSheet .taskImage:before{background:color-mix(in srgb, var(--cell-accent,var(--accent)) 42%, white);border-radius:52% 48% 44% 56%;width:clamp(42px,9vw,82px);height:clamp(26px,6vw,52px);bottom:16%;left:50%;transform:translate(-50%)rotate(-3deg)}.posterSheet .taskImage:after{background:color-mix(in srgb, var(--poster-title) 72%, white);border-radius:50%;width:clamp(16px,4vw,34px);height:clamp(16px,4vw,34px);top:18%;right:17%}.posterSheet .taskImage img{object-fit:contain;z-index:2;width:100%;height:100%;position:relative}.theme-campus .posterSheet .taskImage img{filter:drop-shadow(0 4px 7px #c85d7814);padding:0}.theme-campus .posterSheet .taskImage span{filter:none;text-shadow:none}.posterSheet .taskImage span{z-index:2;filter:saturate(.92);text-shadow:2px 0 #fff,-2px 0 #fff,0 2px #fff,0 -2px #fff,3px 3px #00000029;font-size:clamp(2.6rem,10vw,5.8rem);position:relative}.posterSheet .taskImage-reading:before,.posterSheet .taskImage-study:before{border-radius:8px 8px 18px 18px;width:clamp(54px,11vw,112px);height:clamp(32px,7vw,64px)}.posterSheet .taskImage-meal:before{border-radius:50%}.posterSheet .taskImage-sport:before{border-radius:999px;width:clamp(56px,12vw,112px);height:clamp(22px,5vw,42px)}.posterSheet .taskImage-sleep:before,.posterSheet .taskImage-nap:before{border-radius:18px 18px 8px 8px;width:clamp(62px,13vw,124px);height:clamp(34px,7vw,70px)}.posterSheet .tagRow{z-index:4;position:absolute;bottom:clamp(7px,1vw,10px);left:clamp(8px,1.1vw,12px);right:clamp(36px,3.6vw,48px)}.posterSheet .tagRow span{color:#262626;background:#ffffffc7;font-size:.68rem}.theme-campus .posterSheet .tagRow span{color:color-mix(in srgb, var(--muted) 84%, #fff);background:0 0;padding:0;font-size:clamp(.58rem,1.3vw,.72rem);font-weight:800}.posterSheet .cardButton{z-index:4;background:var(--poster-title-accent);width:auto;min-height:28px;color:var(--poster-stroke);box-shadow:none;border:2px solid #00000029;padding:4px 8px;font-size:.72rem;position:absolute;bottom:clamp(7px,1vw,10px);right:clamp(8px,1.1vw,12px)}.theme-campus .posterSheet .cardButton{opacity:.68;border-color:color-mix(in srgb, var(--accent) 20%, #fff);min-height:24px;color:var(--accent);background:#fffbf6db;border-radius:999px;padding:2px 7px;font-size:.68rem}.theme-campus .posterSheet .timeCard:hover .cardButton,.theme-campus .posterSheet .timeCard:focus-within .cardButton,.theme-campus .posterSheet .timeCard.current .cardButton{opacity:1}.checkCircle{z-index:5;border:2px solid color-mix(in srgb, var(--theme-border) 72%, #fff);background:#fffdf9d1;border-radius:50%;place-items:center;width:clamp(18px,2.9vw,30px);height:clamp(18px,2.9vw,30px);display:grid;position:absolute;bottom:clamp(36px,4.4vw,52px);right:clamp(8px,1.1vw,12px);box-shadow:inset 0 1px #ffffffe6}.checkCircle.checked{border-color:color-mix(in srgb, var(--success) 58%, #fff);background:color-mix(in srgb, var(--success) 16%, #fff)}.checkCircle.checked:before{content:"";border-left:3px solid var(--success);border-bottom:3px solid var(--success);width:48%;height:28%;transform:translateY(-1px)rotate(-45deg)}.posterFooter{grid-template-columns:1.05fr .95fr 1.25fr;gap:clamp(8px,1.4vw,14px);margin-top:clamp(12px,1.7vw,18px);display:grid}.posterFooterPanel{border:2px dashed color-mix(in srgb, var(--theme-border) 86%, #fff);background:linear-gradient(#ffffff8c,#0000 46%),#fff7f9c7;border-radius:18px;min-height:clamp(140px,14vw,174px);padding:clamp(12px,1.7vw,18px) clamp(12px,1.8vw,20px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #fffdf98f}.posterFooterPanel:before{content:"";background:color-mix(in srgb, var(--secondary) 34%, transparent);border-radius:50%;width:54px;height:54px;position:absolute;top:-20px;right:-18px}.growthPanel:after,.rulePanel:after,.promisePanel:after{z-index:0;color:color-mix(in srgb, var(--accent) 22%, transparent);font-family:var(--title-font);font-size:clamp(2.2rem,4.3vw,4rem);font-weight:900;line-height:1;position:absolute;bottom:10px;right:12px}.growthPanel:after{content:"★"}.rulePanel:after{content:"✓"}.promisePanel:after{content:"♡"}.posterFooterPanel h2{z-index:1;background:color-mix(in srgb, var(--accent) 22%, #fff);width:fit-content;color:var(--accent);text-align:center;border-radius:999px;margin:0 auto clamp(8px,1vw,12px);padding:3px 12px 4px;font-size:clamp(.86rem,2vw,1.12rem);position:relative}.posterFooterPanel p{z-index:1;color:var(--text);margin:6px 0;font-size:clamp(.68rem,1.6vw,.9rem);font-weight:700;position:relative}.posterFooterPanel i{border-bottom:1.5px solid color-mix(in srgb, var(--muted) 50%, #fff);vertical-align:-2px;flex:1;min-width:42px;display:inline-block}.formLine{align-items:center;gap:5px;min-height:22px;display:flex}.formIcon{width:18px;height:18px;color:var(--accent);place-items:center;font-size:.86rem;line-height:1;display:inline-grid}.rulePanel ul{z-index:1;color:var(--text);gap:7px;margin:0;padding:0;font-size:clamp(.66rem,1.5vw,.84rem);font-weight:700;list-style:none;display:grid;position:relative}.rulePanel li{grid-template-columns:16px 1fr;align-items:start;gap:6px;display:grid}.rulePanel li span{color:var(--accent);font-size:.68rem;line-height:1.8}.ratingStars{z-index:1;color:#e4b35c;letter-spacing:2px;text-align:center;margin-top:8px;padding-top:4px;font-size:clamp(1rem,2vw,1.25rem);position:relative}.promiseText{text-align:center;line-height:1.65}.signatureRow{z-index:1;color:var(--text);flex-wrap:wrap;align-items:end;gap:7px;margin-top:clamp(10px,1.4vw,16px);font-size:clamp(.66rem,1.5vw,.84rem);font-weight:800;display:flex;position:relative}.cornerDecor{z-index:3;opacity:.72;pointer-events:none;width:clamp(38px,9vw,82px);position:absolute}.cornerTopLeft{top:8px;left:8px}.cornerTopRight{top:8px;right:8px}.cornerBottomLeft{bottom:8px;left:8px}.cornerBottomRight{bottom:8px;right:8px}.posterSheet .cornerStar{z-index:4;text-shadow:2px 2px 0 var(--poster-stroke);font-size:1.5rem;position:absolute;top:8px;right:10px}.posterSheet .cornerStar img{width:34px;height:34px;display:block}.completionStamp{z-index:5;opacity:.82;pointer-events:none;width:clamp(42px,10vw,70px);position:absolute;top:46px;right:8px;transform:rotate(8deg)}@media (width>=700px){.posterSheet .timeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1040px){.posterSheet .timeGrid,.scheduleEditorPage .editorTimeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.posterShell{padding-inline:32px}}@media (width<=620px){.theme-campus.posterShell{border-radius:24px;padding:28px 18px 30px}.theme-campus.posterShell:before{background-size:22px 22px,auto;border-width:9px;border-radius:24px;inset:6px}.theme-campus.posterShell:after{border-radius:18px;inset:20px}.frameBow{width:54px;height:40px}.frameBowTopLeft{top:3px;left:5px}.frameBowTopRight{top:3px;right:5px}.frameBowBottomLeft{bottom:4px;left:6px}.frameBowBottomRight{bottom:4px;right:6px}.frameHeartOne{font-size:1.05rem;top:30px;left:82px}.frameHeartTwo{font-size:.95rem;bottom:28px;right:54px}.frameFlowerOne,.frameFlowerTwo{display:none}.posterHero{grid-template-columns:1fr;min-height:178px;padding-inline:12px}.theme-campus .posterHero{grid-template-columns:1fr;min-height:176px;padding:34px 12px 62px}.posterHeadline h1{text-shadow:3px 0 var(--poster-stroke), -3px 0 var(--poster-stroke), 0 3px var(--poster-stroke), 0 -3px var(--poster-stroke), 5px 5px 0 #00000038}.posterSubtitle{font-size:clamp(1.4rem,7.5vw,2rem)}.theme-campus .posterHeadline{text-align:center;padding-left:58px;padding-right:58px}.theme-campus .posterHeadline h1{justify-content:center;gap:0 8px;font-size:clamp(1.55rem,7vw,2.35rem);line-height:1.12}.theme-campus .posterSubtitle{width:100%;margin-inline:0;font-size:.9rem}.theme-campus .posterLogo{display:grid;position:absolute;top:34px;right:12px}.posterHeroAsset.heroLeft{width:82px;bottom:10px;left:-24px}.posterHeroAsset.heroRight{width:76px;bottom:8px;right:-20px}.posterThemePill{padding:4px 8px}.theme-campus .posterLogo strong{font-size:.68rem}.theme-campus .posterLogo small{display:none}.heroSceneRibbon{top:28px}.propBook{bottom:18px;right:112px}.propBall{bottom:20px;left:110px}.confettiOne{top:23%;left:23%}.confettiTwo{top:39%;right:19%}.posterDoodles{top:10px;right:8px}.posterControls{grid-template-columns:1fr}.posterActions{justify-content:space-between}.posterControls .dateNav{grid-template-columns:38px 1fr 38px auto}.posterFooter{grid-template-columns:1fr}.posterFooterPanel{min-height:132px}.promisePanel{min-height:146px}.signatureRow i{min-width:72px}}@media (prefers-reduced-motion:no-preference){.timeCard,.button,.themeCard{transition:transform .16s,box-shadow .16s,border-color .16s}.timeCard:hover,.themeCard:hover{transform:translateY(-2px)}}.reduceMotion *{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
