.compact-form{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.item-row{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.item-row__text{flex:1}.item-row__text--done{color:var(--color-text-muted);text-decoration:line-through}.item-row__meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.fate-card__button{background:none;border:0;cursor:pointer;display:grid;gap:var(--space-4);padding:0;text-align:left;width:100%}.fate-card__header,.fate-card__footer{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.fate-card__track{background:#ffffff94;border:1px solid var(--color-border-soft);border-radius:999px;height:10px;overflow:hidden}.fate-card__fill{background:linear-gradient(90deg,var(--color-brand-primary),var(--color-brand-gold));border-radius:inherit;height:100%}.feature-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card{display:flex;flex-direction:column;gap:var(--space-3)}.feature-card__meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.overlay{align-items:center;background:#2b26215c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-6);position:fixed;z-index:30}.dialog-card{background:var(--color-bg-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-4);max-width:480px;padding:var(--space-6);width:min(100%,480px)}.dialog-card__title{margin:0}.dialog-card__actions{display:flex;gap:var(--space-3);justify-content:flex-end}@media(max-width:900px){.feature-grid{grid-template-columns:1fr}}.report-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.report-metric{background:#ffffff94;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-4)}.report-metric__value{font-size:28px;font-weight:700}.report-metric__value--small{font-size:18px}.report-detail-list{display:grid;gap:var(--space-3)}.report-detail-row{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;gap:var(--space-4);justify-content:space-between;padding-bottom:var(--space-3)}.report-detail-row:last-child{border-bottom:0;padding-bottom:0}.report-heading-row{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between}.report-badge{background:#b08a451f;border:1px solid var(--color-border-soft);border-radius:999px;color:var(--color-text-primary);font-size:12px;padding:6px 10px;white-space:nowrap}.report-badge--available{background:#4f7a651f}.report-badge--preview{background:#b6432a1f}.report-action-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.report-switcher{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.report-switcher__value{font-size:18px}.report-progress{background:#ffffff94;border:1px solid var(--color-border-soft);border-radius:999px;height:12px;overflow:hidden}.report-progress__fill{background:linear-gradient(90deg,var(--color-brand-primary),var(--color-brand-secondary));border-radius:inherit;height:100%}.theme-card{gap:var(--space-4)}.theme-preview{align-items:center;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);display:flex;gap:var(--space-4);padding:var(--space-4)}.theme-preview__surface,.theme-preview__accent{border-radius:var(--radius-sm);height:72px}.theme-preview__surface{background:#ffffffa8;border:1px solid rgba(43,38,33,.12);flex:1}.theme-preview__accent{flex:0 0 96px}.theme-preview--paper{background:#f6f1e7}.theme-preview--paper .theme-preview__accent{background:linear-gradient(180deg,#b6432a,#b08a45)}.theme-preview--ink{background:#f4f3ef}.theme-preview--ink .theme-preview__accent{background:linear-gradient(180deg,#5c6e79,#c7b37a)}.theme-preview--pine{background:#f2efe8}.theme-preview--pine .theme-preview__accent{background:linear-gradient(180deg,#1f5a5e,#a8794e)}.theme-preview--temple{background:linear-gradient(135deg,#f4e2c3,#ead0a4)}.theme-preview--temple .theme-preview__surface{background:#fff8eed1;border-color:#6f3f1d2e}.theme-preview--temple .theme-preview__accent{background:linear-gradient(180deg,#8f4f24,#d4a64f)}.theme-preview--midnight{background:linear-gradient(135deg,#10151d,#1a2230)}.theme-preview--midnight .theme-preview__surface{background:#ffffff14;border-color:#ffffff24}.theme-preview--midnight .theme-preview__accent{background:linear-gradient(180deg,#6f89a5,#d0a86a)}.app-checkbox{align-items:center;display:flex;gap:var(--space-3)}@media(max-width:900px){.report-grid,.report-metrics{grid-template-columns:1fr}.report-heading-row,.report-detail-row,.report-switcher{align-items:flex-start;flex-direction:column}}.history-grid,.history-detail-grid{display:grid;gap:var(--space-6)}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-day-card__header,.history-detail-row{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.history-day-card__title{margin:var(--space-2) 0 0}.history-day-card__meta{display:grid;gap:var(--space-3)}.history-day-card__meta-item{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.history-filter-row,.history-detail-actions,.history-attachments{display:flex;gap:var(--space-3)}.history-filter-panel{display:grid;gap:var(--space-4)}.history-filter-row{flex-wrap:wrap}.history-filter-row__button--active{background:#b08a4529;border-color:#b08a454d}.history-detail-actions,.history-attachments{margin-top:var(--space-3)}.history-attachments{flex-direction:column}.history-image-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.history-image{aspect-ratio:1;border-radius:var(--radius-md);display:block;object-fit:cover;width:100%}.history-image-link{display:block}.history-audio{width:100%}.history-record-card{display:grid;gap:var(--space-4)}.history-record-card__header,.history-record-card__title-row,.history-record-card__meta,.history-record-card__meta-item{display:flex}.history-record-card__header,.history-record-card__title-row,.history-record-card__meta-item{align-items:center;justify-content:space-between}.history-record-card__header{gap:var(--space-4)}.history-record-card__title-row{gap:var(--space-3)}.history-record-card__score{background:#b08a451f;border:1px solid rgba(176,138,69,.3);border-radius:999px;padding:4px 10px}.history-record-card__meta{flex-direction:column;gap:var(--space-2);min-width:180px}.history-record-card__note{border-left:2px solid var(--color-border-soft);padding-left:var(--space-4)}@media(max-width:900px){.history-grid{grid-template-columns:1fr}.history-day-card__header,.history-detail-row,.history-record-card__header,.history-record-card__meta-item,.history-day-card__meta-item{align-items:flex-start;flex-direction:column}.history-image-grid{grid-template-columns:1fr 1fr}}.record-form{display:grid;gap:var(--space-6)}.record-form__section{display:grid;gap:var(--space-4)}.record-form__score-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr))}.record-form__score-button{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:#ffffffb3;color:var(--color-text-primary);cursor:pointer;min-height:52px}.record-form__score-button--active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.record-form__textarea{background:#ffffffb3;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);min-height:140px;padding:var(--space-4);resize:vertical}.record-form__media{display:grid;gap:var(--space-5)}.record-form__upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.record-form__upload-trigger{background:#b08a451f;border:1px solid rgba(176,138,69,.28);border-radius:999px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;min-height:44px;padding:0 var(--space-5);align-items:center}.record-form__upload-trigger input{display:none}@media(max-width:720px){.record-form__score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.stats-overview{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.stats-overview__item{background:#ffffff94;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-4)}.stats-overview__value{font-size:30px;font-weight:700}.stats-bars{align-items:end;display:grid;gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));min-height:240px}.stats-bars__item{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.stats-bars__track{align-items:end;background:#b08a451f;border-radius:999px;display:flex;height:160px;justify-content:center;overflow:hidden;width:100%}.stats-bars__fill{background:linear-gradient(180deg,var(--color-brand-gold),var(--color-brand-primary));border-radius:999px;width:100%}.stats-bars__value,.stats-bars__label{font-size:var(--font-size-sm)}.stats-bars__label{color:var(--color-text-secondary)}.stats-comparison-header,.stats-comparison-item{display:flex}.stats-comparison-header{justify-content:space-between;margin-bottom:var(--space-4)}.stats-comparison-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.stats-comparison-item{background:#ffffff94;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.stats-comparison-item__delta{color:var(--color-brand-primary);font-weight:700}.stats-heatmap{display:grid;gap:var(--space-2)}.stats-heatmap__row{display:grid;gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr))}.stats-heatmap__cell{aspect-ratio:1;background:#b08a4514;border-radius:var(--radius-xs)}.stats-heatmap__cell[data-level=mid]{background:#b08a453d}.stats-heatmap__cell[data-level=high]{background:#b6432a52}.stats-time-grid{align-items:end;display:grid;gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));min-height:220px}.stats-time-grid__item{align-items:center;display:flex;flex-direction:column;gap:var(--space-2)}.stats-time-grid__bar{align-items:end;background:#b08a451f;border-radius:999px;display:flex;height:150px;justify-content:center;overflow:hidden;width:100%}.stats-time-grid__fill{background:linear-gradient(180deg,var(--color-brand-primary),var(--color-brand-gold));border-radius:inherit;width:100%}@media(max-width:900px){.stats-grid,.stats-overview,.stats-comparison-grid,.stats-time-grid{grid-template-columns:1fr}}.app-shell{min-height:100vh;background:radial-gradient(circle at top left,var(--color-bg-accent-soft),transparent 32%),radial-gradient(circle at top right,color-mix(in srgb,var(--color-brand-gold) 16%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--color-bg-surface) 88%,transparent),var(--color-bg-canvas))}.app-shell__header,.app-shell__main{width:min(calc(100% - var(--space-8) * 2),var(--layout-max-width));margin:0 auto}.app-shell__header{align-items:center;display:flex;gap:var(--space-6);justify-content:space-between;padding:var(--space-8) 0 var(--space-6)}.app-shell__brand,.page-heading__title,.hero-card__title,.plan-card__price{margin:0}.app-shell__brand{font-size:var(--font-size-xl);font-weight:700}.app-shell__tagline,.page-heading__subtitle,.card-body,.plan-card__header p,.detail-list dt{color:var(--color-text-secondary)}.app-shell__nav{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.app-nav-link,.app-button{border-radius:999px;transition:.18s ease}.app-nav-link{align-items:center;color:var(--color-text-secondary);display:inline-flex;justify-content:center;line-height:1.2;padding:10px 14px}.app-nav-link--active,.app-nav-link:hover{background:#ffffffb8;color:var(--color-text-primary)}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--color-brand-primary);cursor:pointer;font:inherit;padding:0}.link-button:hover{text-decoration:underline}.app-shell__main{padding-bottom:var(--space-16)}.page{display:flex;flex-direction:column;gap:var(--space-8)}.page--centered{align-items:center;justify-content:center;min-height:calc(100vh - 160px)}.page--content{padding-top:var(--space-4)}.app-card{background:#fff9f0e0;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6)}.app-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;cursor:pointer;display:inline-flex;justify-content:center;line-height:1.2;min-height:48px;padding:0 var(--space-5)}.app-button:disabled{cursor:not-allowed;opacity:.55}.app-button--primary{background:var(--color-brand-primary);color:#fff}.app-button--secondary{background:#b08a451f;border-color:#b08a454d;color:var(--color-text-primary)}.app-button--ghost{background:transparent;border-color:var(--color-border-soft);color:var(--color-text-secondary)}.app-field{display:flex;flex-direction:column;gap:var(--space-2)}.app-field__label,.card-eyebrow,.page-heading__eyebrow,.plan-badge{font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase}.app-input{background:#ffffffb3;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);min-height:48px;padding:0 var(--space-4);width:100%}.app-input:focus,.app-button:focus-visible,.cycle-switcher__item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.app-loading{animation:pulse 1.2s infinite;background:linear-gradient(90deg,#b08a452e,#b08a4514,#b08a452e);background-size:200% 100%;border-radius:var(--radius-md);min-height:120px}.page-heading{display:flex;flex-direction:column;gap:var(--space-2)}.page-heading__title{font-size:clamp(32px,5vw,var(--font-size-2xl));line-height:var(--line-height-tight)}.hero-grid,.content-grid,.plan-grid{display:grid;gap:var(--space-6)}.hero-grid{grid-template-columns:1.4fr 1fr}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid--stacked{grid-template-columns:1fr}.hero-card__quote{font-size:clamp(26px,4vw,38px);line-height:1.35;margin:var(--space-4) 0 0}.action-list,.app-form,.payment-form,.detail-list,.simple-list{display:flex;flex-direction:column;gap:var(--space-4)}.detail-list div{display:flex;justify-content:space-between;gap:var(--space-4)}.detail-list dd{margin:0}.simple-list{list-style:none;margin:0;padding:0}.simple-list li{border-bottom:1px solid var(--color-border-soft);padding-bottom:var(--space-3)}.simple-list li:last-child{border-bottom:0;padding-bottom:0}.login-card{max-width:560px;width:min(100%,560px)}.login-card .app-button{align-items:center;display:inline-flex;min-height:56px;padding-bottom:0;padding-top:0}.inline-form,.payment-form__actions,.split-line,.plan-card__header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.inline-form .app-input{flex:1}.inline-form .app-button{flex:0 0 auto;white-space:nowrap}.login-divider{color:var(--color-text-muted);display:flex;justify-content:center;position:relative}.login-divider span{background:var(--color-bg-surface);padding:0 var(--space-3);position:relative}.login-divider:before{background:var(--color-border-soft);content:"";height:1px;inset:50% 0 auto;position:absolute}.google-login-slot{display:flex;justify-content:center;min-height:44px}.feedback{margin:0}.feedback--success{color:var(--color-state-success)}.feedback--error{color:var(--color-state-warning)}.membership-hero{display:flex;flex-direction:column;gap:var(--space-2);max-width:760px}.cycle-switcher{display:inline-flex;gap:var(--space-2);padding:var(--space-2);background:#ffffff85;border:1px solid var(--color-border-soft);border-radius:999px;width:fit-content}.cycle-switcher__item{background:transparent;border:0;border-radius:999px;color:var(--color-text-secondary);cursor:pointer;min-height:40px;padding:0 var(--space-4)}.cycle-switcher__item--active{background:var(--color-brand-primary);color:#fff}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card--premium{border-color:#b08a4561}.plan-card--pro{border-color:#7d5b2a6b;background:linear-gradient(180deg,#fff9f0fa,#f0e4d1b3)}.plan-badge{background:#b08a451f;border-radius:999px;color:var(--color-brand-gold);padding:8px 12px}.plan-card__price{font-size:34px;font-weight:700}.card-eyebrow,.page-heading__eyebrow{color:var(--color-text-muted);margin:0}.split-line{color:var(--color-text-secondary)}@media(max-width:900px){.hero-grid,.content-grid,.plan-grid{grid-template-columns:1fr}.app-shell__header{align-items:flex-start;flex-direction:column}}@keyframes pulse{0%{background-position:100% 50%}to{background-position:0 50%}}:root{--color-bg-canvas: #f6f1e7;--color-bg-surface: #fff9f0;--color-bg-surface-strong: #f0e4d1;--color-bg-accent-soft: rgba(182, 67, 42, .1);--color-text-primary: #2b2621;--color-text-secondary: #6b6257;--color-text-muted: #8f8477;--color-brand-primary: #b6432a;--color-brand-primary-strong: #8e3321;--color-brand-gold: #b08a45;--color-brand-gold-soft: #d7c29a;--color-state-success: #4f7a65;--color-state-warning: #9c5a3c;--color-border-soft: rgba(43, 38, 33, .12);--color-border-strong: rgba(43, 38, 33, .2);--color-shadow-soft: rgba(74, 53, 28, .08);--color-plan-free: #c1b49c;--color-plan-premium: #b08a45;--color-plan-pro: #7d5b2a;--shadow-card: 0 12px 30px var(--color-shadow-soft);--shadow-focus: 0 0 0 3px rgba(182, 67, 42, .18);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--radius-xl: 32px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 28px;--font-size-2xl: 40px;--line-height-tight: 1.2;--line-height-base: 1.5;--layout-max-width: 1180px;--layout-content-width: 960px}:root[data-theme=ink]{--color-bg-canvas: #f4f3ef;--color-bg-surface: #fcfaf6;--color-bg-surface-strong: #e5e9ea;--color-bg-accent-soft: rgba(92, 110, 121, .12);--color-text-primary: #232a31;--color-text-secondary: #66717a;--color-text-muted: #7d868d;--color-brand-primary: #5c6e79;--color-brand-primary-strong: #3f4d57;--color-brand-gold: #c7b37a;--color-brand-gold-soft: #e3d6b5;--color-state-success: #6f8673;--color-state-warning: #8a6f61;--color-shadow-soft: rgba(63, 77, 87, .1)}:root[data-theme=pine]{--color-bg-canvas: #f2efe8;--color-bg-surface: #fdfbf8;--color-bg-surface-strong: #e5ddd1;--color-bg-accent-soft: rgba(31, 90, 94, .12);--color-text-primary: #1f2a2c;--color-text-secondary: #667172;--color-text-muted: #7a8384;--color-brand-primary: #1f5a5e;--color-brand-primary-strong: #163f42;--color-brand-gold: #a8794e;--color-brand-gold-soft: #d8c0aa;--color-state-success: #4d7a63;--color-state-warning: #b35c3f;--color-shadow-soft: rgba(31, 90, 94, .1)}:root[data-theme=temple]{--color-bg-canvas: #efe1cb;--color-bg-surface: #fff5e8;--color-bg-surface-strong: #e4c48e;--color-bg-accent-soft: rgba(145, 88, 39, .22);--color-text-primary: #2c1b10;--color-text-secondary: #6a4d36;--color-text-muted: #8e6d52;--color-brand-primary: #9a5b2d;--color-brand-primary-strong: #6f3f1d;--color-brand-gold: #d2a44c;--color-brand-gold-soft: #f0ddac;--color-state-success: #5e6e42;--color-state-warning: #a2472d;--color-border-soft: rgba(78, 45, 20, .14);--color-border-strong: rgba(78, 45, 20, .24);--color-shadow-soft: rgba(111, 63, 29, .14)}:root[data-theme=midnight]{--color-bg-canvas: #10151d;--color-bg-surface: #1b2430;--color-bg-surface-strong: #283446;--color-bg-accent-soft: rgba(82, 102, 128, .34);--color-text-primary: #eef2f6;--color-text-secondary: #b8c3cf;--color-text-muted: #8f9cab;--color-brand-primary: #6e8aa6;--color-brand-primary-strong: #9bb3c9;--color-brand-gold: #d0a86a;--color-brand-gold-soft: #756149;--color-state-success: #7ea38d;--color-state-warning: #d07a65;--color-border-soft: rgba(238, 242, 246, .14);--color-border-strong: rgba(238, 242, 246, .22);--color-shadow-soft: rgba(0, 0, 0, .38)}:root{color-scheme:light;font-family:"Noto Serif SC","Source Han Serif SC",PingFang SC,Hiragino Sans GB,serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--color-bg-canvas);color:var(--color-text-primary)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}
