.game-host{width:100%;height:calc(100dvh - var(--shell-header-height) - var(--shell-nav-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));position:relative;overflow:hidden}.shelter-page{height:100%;color:var(--color-text-primary);position:relative;overflow:hidden}.shelter-stage{position:absolute;inset:0}.shelter-world,.shelter-canvas,.shelter-canvas canvas{width:100%;height:100%;display:block}.shelter-world{transition:background var(--motion-reveal) ease;background:linear-gradient(#e3f1fb,#eef7f3)}.shelter-world.phase-morning{background:linear-gradient(#fdf1d6,#e3f7ef)}.shelter-world.phase-evening{background:linear-gradient(#f6c9a0,#b9a8dc)}.shelter-world.phase-night{background:linear-gradient(#0b1b3a,#1c2f5a)}.shelter-world-error{background:var(--color-surface);color:var(--color-destructive);text-align:center;margin:0;padding:12px;position:absolute;top:45%;left:16px;right:16px}.shelter-top{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:12px;left:16px;right:16px}.shelter-top>*{pointer-events:auto}.shelter-switch{background:#ffffffd9;border-radius:12px;padding:3px;display:flex;box-shadow:0 4px 14px #001a3d14}.shelter-switch button{min-width:64px;min-height:40px;color:var(--color-text-muted);background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:14px;font-weight:700}.shelter-switch button[aria-pressed=true]{background:var(--color-accent);color:#fff}.shelter-coins{min-height:40px;font:700 17px var(--font-number);font-variant-numeric:tabular-nums;color:var(--color-accent);background:#ffffffd9;border-radius:20px;align-items:center;gap:6px;margin:0;padding:6px 14px;display:flex;box-shadow:0 4px 14px #001a3d14}.shelter-coins span{color:#f2b84b;font-size:13px}.shelter-demo{z-index:2;color:var(--color-text-muted);text-align:center;margin:0;font-size:12px;position:absolute;top:60px;left:16px;right:16px}:is(.phase-night~.shelter-demo,.shelter-page:has(.phase-night) .shelter-demo){color:#c9d6ea}.shelter-notice{z-index:4;background:var(--color-accent);color:#fff;width:max-content;max-width:calc(100% - 32px);animation:shelter-rise var(--motion-calm) ease both;border-radius:10px;margin:0;padding:10px 14px;font-size:14px;line-height:1.45;position:absolute;bottom:128px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #001a3d33}.shelter-notice.error{color:var(--color-destructive);background:#fff;border:1px solid #e7c3c3}.shelter-bottom{z-index:3;background:linear-gradient(#fff0,#ffffffeb 26%);gap:8px;padding:12px 16px 14px;display:grid;position:absolute;bottom:0;left:0;right:0}.shelter-page:has(.phase-night) .shelter-bottom{background:linear-gradient(#0b1b3a00,#0b1b3aeb 26%)}.shelter-status{color:var(--color-text-primary);text-align:center;margin:0;font-size:14px;line-height:1.45}.shelter-status span{color:var(--color-brand-green-text)}.shelter-page:has(.phase-night) .shelter-status{color:#e7eefb}.shelter-actions{gap:8px;display:flex}.shelter-actions .primary-button{border-radius:10px;flex:1;min-height:50px;font-size:16px}.shelter-secondary{min-width:64px;min-height:50px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;padding:8px 12px;font-weight:700}.shelter-actions>.shelter-secondary:first-child{flex:1}.shelter-page:has(.phase-night) .shelter-secondary{color:#fff;background:#ffffff1a;border-color:#ffffff40}.shelter-sheet{z-index:10;background:var(--color-surface);max-height:86%;animation:shelter-sheet-in var(--motion-calm) cubic-bezier(.2,.8,.2,1) both;border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #001a3d2e}.shelter-sheet-head{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.shelter-sheet-head h2{font:700 20px var(--font-display);outline:none;margin:0}.shelter-sheet-head button{min-width:44px;min-height:44px;color:var(--color-accent);background:0 0;border:0;font-weight:700}.shelter-sheet-body{overscroll-behavior:contain;padding:0 16px 20px;overflow-y:auto}.routine-group h3{margin:12px 0 4px;font-size:16px}.routine-group h3 small{color:var(--color-text-muted);font:400 13px var(--font-number);margin-left:6px}.routine-group ul{margin:0;padding:0;list-style:none}.routine-group li{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.routine-group li>div{flex:1;gap:2px;min-width:0;display:grid}.routine-group li strong{font-size:15px}.routine-group li span{color:var(--color-text-muted);font-size:13px;line-height:1.4}.routine-group li button{background:var(--color-brand-green);color:#00241a;border:0;border-radius:10px;flex:none;min-width:72px;min-height:44px;font-weight:700}.routine-group li button:disabled{background:var(--color-accent-soft);color:var(--color-text-muted);opacity:1}.routine-lights{width:100%;min-height:48px;margin-top:14px}.routine-windows{color:var(--color-text-muted);margin-top:16px;font-size:13px}.routine-windows summary{min-height:44px;color:var(--color-accent);cursor:pointer;align-items:center;font-weight:700;display:flex}.routine-windows p{margin:0 0 10px;line-height:1.5}.routine-windows>div{flex-wrap:wrap;gap:10px;display:flex}.routine-windows label{color:var(--color-text-primary);align-items:center;gap:6px;display:flex}.routine-windows input{border:1px solid #c9d3e0;border-radius:8px;min-height:44px;padding:6px 8px;font-size:16px}.routine-windows button{background:var(--color-accent);color:#fff;border:0;border-radius:8px;min-height:44px;margin-top:10px;padding:8px 14px;font-weight:700}.decor-tabs{background:var(--color-accent-soft);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.decor-tabs button{min-height:42px;color:var(--color-text-muted);background:0 0;border:0;border-radius:9px;font-weight:700}.decor-tabs button[aria-selected=true]{color:var(--color-accent);background:#fff;box-shadow:0 1px 4px #001a3d1a}.decor-look{width:100%;min-height:46px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;margin-top:12px;font-weight:700}.decor-hint{color:var(--color-text-muted);margin:10px 0;font-size:12px;line-height:1.5}.decor-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.decor-grid button{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:12px;align-content:start;justify-items:center;gap:4px;width:100%;height:100%;min-height:132px;padding:8px 6px;display:grid}.decor-grid button.owned{border-color:#9fb4cf}.decor-grid button.in-use{border-color:var(--color-brand-green);box-shadow:inset 0 0 0 1px var(--color-brand-green);background:var(--color-brand-green-soft)}.decor-grid button.unavailable{opacity:.55}.decor-hint.active{color:var(--color-accent);font-weight:700}.decor-thumb{place-items:center;width:64px;height:64px;display:grid}.decor-thumb img{object-fit:contain;max-width:64px;max-height:64px}.decor-grid strong{font-size:14px}.decor-grid small{color:var(--color-text-muted);font-size:12px;line-height:1.35}.avatar-editor{background:linear-gradient(#e3f7ef, var(--color-background) 55%);grid-template-rows:minmax(140px,36%) 1fr;height:100%;display:grid}.avatar-preview{place-items:center;min-height:0;padding-top:12px;display:grid;overflow:hidden}.avatar-preview img{object-fit:contain;width:auto;height:100%;min-height:0;max-height:260px;animation:shelter-rise var(--motion-reveal) ease both}.avatar-controls{padding:4px 16px 16px;overflow-y:auto}.avatar-controls h1{font:700 clamp(19px, 5vw, 24px)/1.35 var(--font-display);outline:none;margin:0 0 8px}.avatar-controls fieldset{border:0;margin:0;padding:6px 0}.avatar-controls legend{color:var(--color-text-muted);margin-bottom:6px;padding:0;font-size:13px;font-weight:700}.avatar-options{flex-wrap:wrap;gap:8px;display:flex}.avatar-options .swatch{border:2px solid #fff;border-radius:50%;width:44px;height:44px;box-shadow:0 0 0 1px #c9d3e0}.avatar-options .swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--color-accent)}.avatar-options .chip{min-height:40px;color:var(--color-text-primary);background:#fff;border:1px solid #c9d3e0;border-radius:20px;padding:6px 12px;font-size:14px}.avatar-options .chip[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.avatar-actions{background:var(--color-background);gap:8px;padding-top:12px;display:flex;position:sticky;bottom:0}.avatar-actions .primary-button{border-radius:10px;flex:1;min-height:50px}.breathing{z-index:12;color:#fff;text-align:center;background:linear-gradient(#1c2f5a,#0b1b3a);place-content:center;justify-items:center;gap:16px;padding:24px;display:grid;position:absolute;inset:0}.breathing h2{font:700 22px var(--font-display);margin:0}.breathing-circle{background:radial-gradient(circle,#00c38966,#00c38922 70%);border:2px solid #00c389;border-radius:50%;width:200px;height:200px;transform:scale(.6)}.breathing-circle.in{animation:4s ease-in-out forwards breathe-in}.breathing-circle.out{animation:6s ease-in-out forwards breathe-out}.breathing-cue{margin:0;font-size:18px;font-weight:700}.breathing-time{color:#c9d6ea;font:15px var(--font-number);margin:0}.breathing-actions .primary-button{background:var(--color-brand-green);color:#00241a;border-radius:10px;min-width:200px;min-height:50px}.breathing-actions .shelter-secondary{color:#fff;background:0 0;border-color:#fff5}.shelter-gate{align-content:center;justify-items:start;gap:10px;height:100%;padding:24px 20px;display:grid}.shelter-gate h1{font:700 26px var(--font-display);outline:none;margin:0}.shelter-gate p{color:var(--color-text-muted);margin:0;line-height:1.6}.shelter-gate .primary-button{min-height:48px;margin-top:12px;padding:8px 18px}@keyframes shelter-rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.avatar-preview img{animation-name:shelter-fade}@keyframes shelter-fade{0%{opacity:0}to{opacity:1}}@keyframes shelter-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes breathe-in{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes breathe-out{0%{transform:scale(1)}to{transform:scale(.6)}}@media (height<=700px) and (width<=780px){.avatar-editor{grid-template-rows:minmax(96px,24%) 1fr}.shelter-demo{display:none}}@media (width>=781px){.shelter-top,.shelter-bottom{padding-left:max(16px,50% - 320px);padding-right:max(16px,50% - 320px)}.shelter-top{left:0;right:0}.shelter-sheet{width:min(560px,100%);animation-name:shelter-fade;left:50%;right:auto;transform:translate(-50%)}.avatar-editor{background:0 0;grid-template-rows:none;grid-template-columns:1fr 1fr;align-items:center;max-width:960px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.shelter-world,.shelter-notice,.shelter-sheet,.avatar-preview img{transition:none;animation:none}.breathing-circle.in,.breathing-circle.out{animation:none;transform:scale(.8)}}.shelter-top-right{align-items:center;gap:8px;display:flex}.shelter-neighbor-button{min-height:40px;color:var(--color-accent);background:#ffffffd9;border:0;border-radius:20px;padding:6px 14px;font-weight:700;box-shadow:0 4px 14px #001a3d14}.shelter-visiting{text-align:right;background:#ffffffe6;border-radius:12px;margin:0;padding:6px 14px;font-weight:700;display:grid;box-shadow:0 4px 14px #001a3d14}.shelter-visiting small{color:var(--color-text-muted);font-size:12px;font-weight:400}.visit-controls{gap:8px;display:grid}.visit-stamps{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.visit-stamps .shelter-secondary{border-color:var(--color-brand-green);min-height:44px;color:var(--color-brand-green-text)}.visit-more{position:relative}.visit-more summary{cursor:pointer;place-items:center;list-style:none;display:grid}.visit-more summary::-webkit-details-marker{display:none}.visit-more>div{z-index:5;background:#fff;border-radius:12px;gap:2px;width:220px;padding:10px;display:grid;position:absolute;bottom:58px;right:0;box-shadow:0 10px 30px #001a3d33}.visit-more>div p{color:var(--color-text-muted);margin:0 0 6px;font-size:13px;line-height:1.45}.visit-more>div button{border:0;border-top:1px solid var(--color-border);min-height:44px;color:var(--color-text-primary);text-align:left;background:0 0}.neighbor-join p{margin:0 0 10px;line-height:1.55}.neighbor-facts{background:var(--color-surface-soft);border-radius:10px;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 14px;padding:12px;font-size:13px;line-height:1.45;display:grid}.neighbor-facts dt{color:var(--color-text-muted);font-weight:700}.neighbor-facts dd{margin:0}.neighbor-field{gap:4px;margin-bottom:10px;font-size:14px;font-weight:700;display:grid}.neighbor-field small{color:var(--color-text-muted);font-weight:400}.neighbor-field input,.neighbor-add input{border:1px solid #c9d3e0;border-radius:10px;min-height:46px;padding:8px 12px;font-size:16px}.neighbor-check{align-items:flex-start;gap:8px;margin:4px 0 14px;font-size:14px;line-height:1.45;display:flex}.neighbor-check input{flex:none;width:20px;height:20px}.neighbor-join .primary-button{border-radius:10px;width:100%;min-height:50px}.neighbor-code{background:var(--color-accent);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.neighbor-code div{display:grid}.neighbor-code span{opacity:.8;font-size:12px}.neighbor-code strong{font:700 24px var(--font-number);letter-spacing:.18em}.neighbor-code button{color:#fff;background:0 0;border:1px solid #fff6;border-radius:10px;min-width:64px;min-height:44px;font-weight:700}.neighbor-add{margin-top:12px}.neighbor-add label{margin-bottom:4px;font-size:14px;font-weight:700;display:block}.neighbor-add div{gap:8px;display:flex}.neighbor-add input{min-width:0;font-family:var(--font-number);letter-spacing:.12em;text-transform:uppercase;flex:1}.neighbor-add button{background:var(--color-accent);color:#fff;border:0;border-radius:10px;min-width:64px;font-weight:700}.neighbor-board h3{margin:18px 0 4px;font-size:16px}.neighbor-board h3 small{color:var(--color-text-muted);margin-left:6px;font-size:12px;font-weight:400}.neighbor-together{color:var(--color-text-muted);margin:0 0 6px;font-size:13px}.neighbor-together strong{color:var(--color-brand-green-text);font-size:15px}.neighbor-board ol{margin:0;padding:0;list-style:none}.neighbor-board li{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:8px 0;display:flex}.neighbor-board li.me{background:var(--color-brand-green-soft);margin:0 -16px;padding:8px 16px}.neighbor-rank{width:18px;color:var(--color-text-muted);font:700 14px var(--font-number);text-align:center}.neighbor-board img{object-fit:contain;width:36px;height:48px}.neighbor-name{flex:1;min-width:0;display:grid}.neighbor-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.neighbor-name small{color:var(--color-brand-green-text);font-size:12px}.neighbor-days{font:700 13px var(--font-number);justify-items:end;gap:3px;display:grid}.neighbor-dots{gap:3px;display:flex}.neighbor-dots i{background:#dde3ec;border-radius:50%;width:7px;height:7px}.neighbor-dots i.on{background:var(--color-brand-green)}.neighbor-board li>button{min-width:56px;min-height:40px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;font-weight:700}.neighbor-board [role=alert] button{color:var(--color-accent);background:0 0;border:0;text-decoration:underline}.neighbor-settings{margin-top:18px;font-size:14px}.neighbor-settings summary{min-height:44px;color:var(--color-accent);cursor:pointer;align-items:center;font-weight:700;display:flex}.neighbor-settings form{align-items:flex-end;gap:8px;display:flex}.neighbor-settings form .neighbor-field{flex:1;margin:0}.neighbor-settings form button,.neighbor-leave button,.neighbor-leave-open{min-height:44px;color:var(--color-text-primary);background:#fff;border:1px solid #c9d3e0;border-radius:10px;padding:6px 12px}.neighbor-leave-open,.neighbor-leave button:first-of-type{color:var(--color-destructive);margin-top:12px}.neighbor-leave p{color:var(--color-text-muted);margin:12px 0 0}.neighbor-leave{flex-wrap:wrap;gap:8px;display:flex}.neighbor-leave p{flex-basis:100%}.shelter-canvas canvas{touch-action:none}.shelter-loading{color:var(--color-text-muted);text-align:center;margin:0;position:absolute;inset:45% 0 auto}.avatar-preview{position:relative}.avatar-preview canvas{width:100%!important;height:100%!important}.avatar-preview>img{image-rendering:auto;width:96px;height:96px}.avatar-characters{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.avatar-characters button{aspect-ratio:1;background:#fff;border:2px solid #0000;border-radius:12px;min-height:44px;padding:2px;box-shadow:0 0 0 1px #c9d3e0}.avatar-characters button[aria-pressed=true]{border-color:var(--color-accent);box-shadow:none;background:var(--color-accent-soft)}.avatar-characters img{object-fit:contain;width:100%;height:100%}.avatar-controls legend small{margin-left:6px;font-weight:400}.shelter-neighbor-button{position:relative}.shelter-badge{color:#fff;min-width:20px;height:20px;font:700 12px/20px var(--font-number);background:#d9534f;border-radius:10px;padding:0 5px;position:absolute;top:-4px;right:-4px}.neighbor-tabs{margin-bottom:12px}.visit-social{grid-template-columns:1fr 1fr;gap:8px;display:grid}.visit-social .shelter-secondary{min-height:44px}.letter-to{color:var(--color-text-muted);margin:0 0 10px}.letter-to strong{color:var(--color-text-primary)}.letter-form textarea{min-height:120px;font:400 16px/1.5 var(--font-body);resize:vertical;border:1px solid #c9d3e0;border-radius:10px;padding:10px 12px}.letter-caution{color:var(--color-text-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.letter-points{border:0;margin:0 0 14px;padding:0}.letter-points legend{margin-bottom:6px;font-size:14px;font-weight:700}.letter-points>div{flex-wrap:wrap;gap:6px;display:flex}.letter-points .chip{background:#fff;border:1px solid #c9d3e0;border-radius:20px;min-height:40px;padding:6px 14px}.letter-points .chip[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.letter-points input{border:1px solid #c9d3e0;border-radius:10px;width:96px;min-height:40px;padding:6px 10px;font-size:16px}.letter-points p{color:var(--color-brand-green-text);margin:8px 0 0;font-size:13px}.letter-form .primary-button,.trade-form .primary-button{border-radius:10px;width:100%;min-height:50px}.trade-form fieldset{border:0;margin:0 0 12px;padding:0}.trade-form legend{margin-bottom:6px;font-size:14px;font-weight:700}.trade-form .decor-grid button{min-height:108px}.trade-form input{border:1px solid #c9d3e0;border-radius:10px;min-height:46px;padding:8px 12px;font-size:16px}.neighbor-empty{color:var(--color-text-muted);line-height:1.55}.mailbox,.trade-list{margin:0;padding:0;list-style:none}.mailbox li{border-bottom:1px solid var(--color-border)}.mailbox-head{text-align:left;width:100%;min-height:56px;color:var(--color-text-primary);background:0 0;border:0;gap:2px;padding:10px 0;display:grid}.mailbox li.unread .mailbox-head span{font-weight:700}.mailbox li.unread .mailbox-head span:before{content:"";background:var(--color-brand-green);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.mailbox-head small{color:var(--color-text-muted);font-size:12px}.mailbox-body{padding:0 0 12px}.mailbox-body p{white-space:pre-wrap;margin:0 0 8px;line-height:1.6}.mailbox-body button,.trade-actions button{min-height:40px;color:var(--color-text-primary);background:#fff;border:1px solid #c9d3e0;border-radius:10px;padding:6px 12px}.trade-list li{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 0;display:flex}.trade-list img{object-fit:contain;width:44px;height:44px}.trade-list li>div{flex:1;gap:2px;min-width:0;display:grid}.trade-list small{color:var(--color-text-muted);font-size:12px;line-height:1.4}.trade-actions{gap:6px;display:flex}.trade-actions button:first-child{border-color:var(--color-accent);color:var(--color-accent);font-weight:700}.avatar-hint{color:var(--color-text-muted);margin:-4px 0 6px;font-size:13px}.shelter-night-note{z-index:2;color:#e7eefb;text-align:center;margin:0;font-size:15px;position:absolute;top:42%;left:16px;right:16px}.shelter-night-note button{color:#fff;background:#ffffff1a;border:1px solid #fff5;border-radius:10px;min-height:40px;margin-left:6px;padding:4px 12px;font-weight:700}.comment-page{color:#262f3a}.comment-page>p{color:#6b7684;line-height:1.7}.comment-card{background:#fff;border:1px solid #e7ebf0;border-radius:20px;gap:13px;margin:22px 0;padding:24px;display:grid}.comment-card h2{font:700 24px var(--font-display);margin:0}.comment-card h3{margin:0 0 8px;font-size:16px}.comment-card p{color:#667487;margin:0;font-size:13px;line-height:1.7}.comment-card dl{background:#f7f9fc;border-radius:12px;grid-template-columns:110px 1fr;gap:9px;padding:15px;font-size:12px;line-height:1.6;display:grid}.comment-card dt{color:#4a5a70;font-weight:700}.comment-card dd{color:#667487;margin:0}.comment-card label{color:#41536a;gap:8px;font-size:12px;display:grid}.comment-card textarea{resize:vertical;min-height:95px;font:inherit;border:1px solid #d9e1eb;border-radius:10px;padding:12px}.comment-card .comment-check{align-items:start;gap:8px;line-height:1.5;display:flex}.comment-card blockquote{white-space:pre-wrap;background:#eef2f7;border-left:4px solid #00377f;border-radius:6px;margin:0;padding:18px;line-height:1.8}.comment-card button:not(.primary-button){color:#435772;background:#fff;border:1px solid #9caabd;border-radius:9px;justify-self:start;padding:9px 14px}.review-request{border-top:1px solid #e7ebf0;gap:12px;padding-top:20px;display:grid}.comment-snapshot{gap:8px;display:grid}.comment-snapshot>details{background:#f7f9fc;border:1px solid #e3e7ed;border-radius:9px;padding:12px;font-size:12px}.comment-snapshot summary{cursor:pointer;flex-wrap:wrap;gap:6px 14px;display:flex}.comment-snapshot summary strong{color:#435772}.snapshot-flag-count{color:#9b542d;font-weight:700}.comment-snapshot details[open] summary{margin-bottom:12px}.comment-snapshot dl{background:#fff;grid-template-columns:minmax(120px,1fr) minmax(90px,1fr);margin:0}.review-snapshot-flags{background:#fff4e9;border-radius:8px;margin-top:10px;padding:10px 12px}.review-snapshot-flags strong{font-size:12px}.review-snapshot-flags p{margin-top:4px}.comment-card .review-confirm{align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:flex}.review-confirm input{margin-top:4px}.comment-info{color:#526782;background:#edf3fa;border-radius:10px;padding:14px}@media (width<=600px){.comment-card{padding:17px}.comment-card dl{grid-template-columns:1fr}.comment-card dt:not(:first-child){margin-top:7px}}.hospital-link-section{border:1px solid var(--border,#ded7ca);background:#faf8f3;border-radius:20px;margin:30px 0;padding:24px}.hospital-link-section h2{margin:0 0 10px;font-size:1.25rem}.hospital-link-section p{line-height:1.6}.hospital-link-card{background:#fff;border:1px solid #d4cec2;border-radius:16px;gap:12px;margin-top:18px;padding:20px;display:grid}.hospital-link-card>strong{font-size:1.08rem}.hospital-link-card p,.hospital-link-card dl{margin:0}.hospital-link-card dl{grid-template-columns:88px 1fr;gap:10px 14px;line-height:1.5;display:grid}.hospital-link-card dt{font-weight:700}.hospital-link-card dd{margin:0}.hospital-link-card label{align-items:center;gap:9px;line-height:1.5;display:flex}.hospital-link-card label:has(input[type=date]){flex-wrap:wrap;font-weight:700}.hospital-link-card input[type=date]{min-height:42px;font:inherit;border:1px solid #afa99f;border-radius:9px;padding:6px 10px}.hospital-link-card input[type=checkbox]{flex:none;width:19px;height:19px}.hospital-link-actions{flex-wrap:wrap;gap:10px;display:flex}.hospital-link-card button{color:#293443;min-height:42px;font:inherit;cursor:pointer;background:#f5f8fb;border:1px solid #737e8d;border-radius:10px;padding:8px 13px}.hospital-link-card button:disabled{cursor:not-allowed;opacity:.48}.hospital-link-card small{line-height:1.5}@media (width<=480px){.hospital-link-section{padding:18px}.hospital-link-card{padding:16px}.hospital-link-card dl{grid-template-columns:1fr;gap:3px}.hospital-link-card dd{margin-bottom:9px}}.weekly-checkin{margin-top:22px}.weekly-checkin h2{margin-bottom:8px}.checkin-disclaimer,.checkin-note{color:var(--color-text-muted);font-size:13px}.checkin-weeks{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.checkin-weeks button,.checkin-question button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:12px;padding:10px 12px}.checkin-weeks button{text-align:left;min-width:112px}.checkin-weeks small{color:var(--color-text-muted);margin-top:4px;display:block}.checkin-weeks .selected,.checkin-question .selected{border-color:var(--color-accent);background:var(--color-surface-soft);color:var(--color-accent)}.checkin-period{font-weight:700}.checkin-question{margin:22px 0}.checkin-question strong{margin-bottom:10px;display:block}.checkin-question>div{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.checkin-question button{padding:10px 2px}.checkin-message{color:var(--color-accent);margin-top:14px}@media (width<=540px){.checkin-question>div{grid-template-columns:repeat(4,minmax(0,1fr))}.checkin-weeks button{min-width:calc(50% - 4px)}}.content-grid,.diary-panel{min-width:0}.sequence-shell{background:linear-gradient(145deg,#f8fbf8,#ecf5f2);border:1px solid #dbe8e3;border-radius:24px;min-width:0;margin-top:22px;overflow:hidden;box-shadow:0 16px 44px #001b3d12}.sequence-progress{scrollbar-width:thin;border-bottom:1px solid #dbe9e4;gap:4px;margin:0;padding:12px;list-style:none;display:flex;overflow-x:auto}.sequence-progress li{flex:none}.sequence-progress button{color:#556171;white-space:nowrap;background:0 0;border:0;border-radius:12px;align-items:center;gap:7px;min-height:44px;padding:8px 10px;font-size:12px;display:flex}.sequence-progress button span{color:#495667;background:#e1efea;border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;font-weight:700;display:grid}.sequence-progress button:disabled{opacity:.48;cursor:not-allowed}.sequence-progress button.active{color:#fff;background:#183254}.sequence-progress button.active span{color:#172a43;background:#efc68b}.sequence-question,.sequence-review{max-width:700px;margin:auto;padding:26px clamp(18px,4vw,42px) 14px}.sequence-copy,.sequence-review{animation:.4s cubic-bezier(.2,.72,.28,1) both sequence-enter}.sequence-count{color:#001b3d;letter-spacing:.07em;background:#ddede7;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-flex}.sequence-question h3,.sequence-review h3{color:#172a43;font:700 clamp(23px, 4vw, 32px) var(--font-display);margin:13px 0 6px;line-height:1.35}.sequence-copy>p,.sequence-review>p{color:#546172;margin:0 0 18px;font-size:14px;line-height:1.6}.sequence-clock{max-width:490px;margin:auto}.sequence-dial-head{color:#173154;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 6px;display:flex}.sequence-dial-head strong{font-size:18px}.sequence-dial-head span{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.sequence-clock .dial-area{padding:0}.sequence-clock .clock-dial{background:#f4faf8;border-radius:18px;width:min(100%,360px);margin:auto;display:block;overflow:hidden;box-shadow:0 10px 26px #001b3d1e}.sequence-clock .dial-camera{transition:transform .7s cubic-bezier(.22,1,.36,1)}.sequence-clock .clock-legend{display:none}.sequence-clock .timeline-warning{margin:12px 0}.sequence-precision{justify-content:space-between;align-items:center;gap:12px;margin:14px 4px 6px;display:flex}.sequence-precision button{color:#001b3d;background:#fff;border:1px solid #a2b1c4;border-radius:10px;min-height:44px;padding:9px 12px;font-weight:700}.sequence-precision label{color:#455467;align-items:center;gap:7px;font-size:12px;display:flex}.sequence-precision input{color:#001b3d;background:#fff;border:1px solid #a2b1c4;border-radius:10px;min-height:44px;padding:8px;font-size:16px}.sequence-question .duration-input{background:#fff;border-radius:16px;margin-top:20px;padding:22px}.sequence-navigation{justify-content:space-between;gap:14px;max-width:700px;margin:8px auto 20px;padding:0 clamp(18px,4vw,42px);display:flex}.sequence-navigation button{border-radius:11px;min-height:48px}.sequence-navigation button:first-child{color:#3b4e67;background:#fff;border:1px solid #b7d2c8;padding:9px 18px}.sequence-navigation .primary-button{padding:10px 18px}.timeline-review{background:linear-gradient(165deg,#fffefd,#edf7f3);border:1px solid #d7e8e2;border-radius:20px;padding:15px;overflow:hidden;box-shadow:0 14px 35px #001b3d13}.timeline-review svg{filter:drop-shadow(0 8px 12px #001b3d12);width:100%;max-width:440px;margin:auto;display:block}.timeline-legend{color:#4c596b;flex-wrap:wrap;gap:7px 12px;padding:1px 5px 12px;font-size:11px;line-height:1.35;display:flex}.timeline-legend span{align-items:center;gap:5px;display:inline-flex}.timeline-legend i{background:#b7becb;border-radius:3px;flex:none;width:10px;height:10px}.timeline-legend i.falling{background:#8e7cc3}.timeline-legend i.night{background:#3f74c4}.timeline-legend i.morning{background:#e0a43a}.timeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;display:grid}.timeline-metrics div{background:#fff;border:1px solid #dfebe7;border-radius:12px;gap:5px;padding:12px 14px;display:grid}.timeline-metrics span{color:#546070;font-size:11px}.timeline-metrics strong{color:#193252;font-variant-numeric:tabular-nums;font-size:18px}.timeline-metrics .key{background:#def2eb;border-color:#bbddd1}.timeline-empty,.sequence-error{color:#865a40;background:#fff4ec;border-radius:13px;padding:16px;line-height:1.55}.legacy-choice{background:#fff7e9;border:1px solid #ead5ac;border-radius:14px;flex-wrap:wrap;gap:8px;margin-top:14px;padding:16px;display:flex}.legacy-choice strong,.legacy-choice p{flex-basis:100%;margin:0}.legacy-choice p{color:#665b46;font-size:13px}.legacy-choice button{color:#594d36;background:#fff;border:1px solid #bca779;border-radius:9px;min-height:44px;padding:9px 12px}.legacy-choice button[aria-pressed=true]{color:#fff;background:#3e6e5c;border-color:#3e6e5c}@keyframes sequence-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.sequence-progress{padding:8px}.sequence-question,.sequence-review{padding:22px 14px 12px}.sequence-precision{flex-wrap:wrap}.sequence-navigation{padding:0 14px}.sequence-navigation .primary-button{flex:1}.timeline-review{padding:8px}.timeline-metrics strong{font-size:15px}}@media (width<=1100px){.content-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.sequence-copy,.sequence-review{animation:none}.sequence-clock .dial-camera{transition:none}}.sequence-locked{max-width:700px;margin:0 auto;padding:12px 0 20px;overflow-y:auto}.sequence-locked h3{font:700 22px var(--font-display);margin:4px 0 8px}.sequence-locked>p[role=note]{color:var(--color-text-muted);margin:0 0 12px;line-height:1.55}.edit-window-note{color:var(--color-text-muted);flex-basis:100%;margin:0 0 6px;font-size:13px}.admin-page{max-width:880px}.admin-lead{color:var(--color-text-muted);margin:-6px 0 14px;font-size:14px;line-height:1.55}.admin-tabs{margin-bottom:14px}.admin-message{background:var(--color-brand-green-soft);color:var(--color-brand-green-text);border-radius:10px;padding:10px 12px}.admin-message.error{color:var(--color-destructive);background:#fbeaea}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;display:grid}.admin-stats div{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:12px;padding:14px}.admin-stats dt{color:var(--color-text-muted);font-size:13px}.admin-stats dd{font:700 26px var(--font-number);color:var(--color-accent);margin:4px 0 0}.admin-filter{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.admin-filter button{background:#fff;border:1px solid #c9d3e0;border-radius:20px;min-height:40px;padding:6px 12px}.admin-filter button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.admin-users,.admin-reports{margin:0;padding:0;list-style:none}.admin-users li,.admin-reports li{border-bottom:1px solid var(--color-border);padding:14px 0}.admin-reports li.resolved{opacity:.65}.admin-user-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.admin-user-head span{color:var(--color-text-muted);font-size:12px}.admin-users p,.admin-reports p{color:var(--color-text-muted);margin:6px 0 0;font-size:14px;line-height:1.5}.admin-user-status{font-weight:700;color:var(--color-brand-green-text)!important}.admin-action,.admin-report-actions button,.admin-invite button:not(.primary-button){min-height:42px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;margin-top:8px;padding:6px 14px;font-weight:700}.admin-report-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-reports blockquote{white-space:pre-wrap;background:#fff7f7;border-left:3px solid #d9534f;margin:8px 0 0;padding:10px 12px}.admin-invite{background:var(--color-surface-soft);border-radius:12px;margin-top:10px;padding:12px}.admin-invite label{gap:6px;font-size:14px;font-weight:700;display:grid}.admin-invite textarea{min-height:70px;font:400 15px/1.5 var(--font-body);border:1px solid #c9d3e0;border-radius:10px;padding:8px 10px}.admin-invite>div{gap:8px;display:flex}.admin-invite .primary-button{border-radius:10px;min-height:44px;margin-top:8px;padding:6px 16px}.admin-empty{color:var(--color-text-muted)}.review-question{font-weight:700}.review-templates{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;display:flex}.review-templates strong{flex-basis:100%;font-size:14px}.review-templates button,.review-ai button{min-height:38px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:18px;padding:4px 12px}.review-ai{margin:8px 0 12px}.review-ai-text{background:var(--color-accent-soft);white-space:pre-wrap;border-radius:10px;padding:12px;line-height:1.6}.review-queue textarea{width:100%}.advice-panel section{margin-top:18px}.advice-panel h2{margin:0 0 8px;font-size:18px}.advice-summary{color:var(--color-text-muted);margin:0 0 10px;font-size:14px;line-height:1.55}.advice-cards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.advice-cards li{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border);border-radius:12px;padding:12px 14px}.advice-cards li.advice-referral{box-shadow:inset 0 0 0 2px #e0a43a}.advice-cards p{margin:4px 0 0;font-size:15px;line-height:1.6}.advice-note{color:var(--color-text-muted);font-size:13px;line-height:1.5}.advice-ai{background:var(--color-brand-green-soft);border-radius:12px;margin:10px 0 0;padding:14px}.advice-ai p{margin:0 0 8px;line-height:1.7}.advice-ai small{color:var(--color-text-muted)}.advice-panel .primary-button{border-radius:10px;min-height:48px;margin-top:8px;padding:8px 18px}.comment-invite{background:var(--color-brand-green-soft);border-radius:12px;padding:14px}.comment-invite p{margin:6px 0}.comment-invite div{gap:8px;margin-top:8px;display:flex}.comment-invite button:not(.primary-button){background:#fff;border:1px solid #c9d3e0;border-radius:10px;min-height:44px;padding:6px 12px}.comment-open{color:var(--color-accent);background:0 0;border:0;margin-left:6px;font-weight:700;text-decoration:underline}.admin-ab-table{border-collapse:collapse;width:100%;font-size:14px}.admin-ab-table th,.admin-ab-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:10px 8px}.admin-ab-table thead th{color:var(--color-text-muted);font-size:12px}.admin-ab-table td{font-family:var(--font-number);font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:700}.admin-ab-note{color:#665b46;background:#fff7e9;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:13px}.admin-ab-mine{background:var(--color-surface-soft);border-radius:12px;margin-top:16px;padding:14px}.admin-ab-mine p{color:var(--color-text-muted);margin:4px 0 8px}.admin-ab-mine div{gap:8px;display:flex}.admin-ab-mine button{min-height:44px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;padding:6px 14px;font-weight:700}.quick-story,.quick-edit-mode{max-width:700px;margin:0 auto;padding:10px 0 4px}.quick-kicker{color:var(--color-text-muted);margin:0 0 8px;font-size:13px;font-weight:700}.quick-sentence{font:400 clamp(19px, 5vw, 24px)/1.9 var(--font-body);color:var(--color-text-primary);margin:0}.quick-sentence button{border:0;border-bottom:2px solid var(--color-brand-green);background:var(--color-brand-green-soft);color:var(--color-accent);font:700 inherit/inherit var(--font-body);font-size:inherit;line-height:inherit;border-radius:4px;padding:0 4px}.quick-help{color:var(--color-text-muted);margin:10px 0 0;font-size:13px}.quick-edit{min-height:44px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;margin-top:10px;padding:6px 14px;font-weight:700}.quick-layout{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.quick-bar{-webkit-user-select:none;user-select:none;width:100%;max-width:360px;height:auto;max-height:62dvh;margin:0 auto;display:block}.quick-track{fill:#e6ebf2}.quick-tick{stroke:#c9d3e0;stroke-width:1px}.quick-axis{font:11px var(--font-number);fill:var(--color-text-muted)}.quick-in-bed{fill:var(--color-in-bed)}.quick-latency{fill:var(--color-before-attempt)}.quick-sleep{fill:var(--color-attempt-to-wake)}.quick-after{fill:var(--color-after-wake)}.quick-band-text{font:700 12px var(--font-body);fill:#fff}.quick-mark{cursor:grab}.quick-mark-line{stroke:var(--color-accent);stroke-width:2px}.quick-handle{fill:#fff;stroke:var(--color-accent);stroke-width:3px}.quick-mark.selected .quick-handle{fill:var(--color-accent)}.quick-leader{fill:none;stroke:#9fb0c8;stroke-width:1.5px}.quick-pill{fill:#fff;stroke:#c9d3e0}.quick-mark.selected .quick-pill{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-width:2px}.quick-pill-label{font:700 13px var(--font-body);fill:var(--color-text-primary)}.quick-pill-time{font:700 15px var(--font-number);fill:var(--color-accent)}.quick-controls{gap:10px;display:grid}.quick-fine{gap:6px;display:grid}.quick-fine strong{font-size:14px}.quick-fine>div{align-items:center;gap:6px;display:flex}.quick-fine button{min-width:64px;min-height:44px;color:var(--color-accent);background:#fff;border:1px solid #c9d3e0;border-radius:10px;font-weight:700}.quick-fine input{text-align:center;border:1px solid #c9d3e0;border-radius:10px;flex:1;min-width:0;min-height:44px;padding:6px 8px;font-size:16px}.quick-fine small{color:var(--color-text-muted);font-size:12px}.quick-chips{background:var(--color-surface-soft);border:0;border-radius:12px;margin:0;padding:10px}.quick-chips.next{box-shadow:inset 0 0 0 2px var(--color-brand-green)}.quick-chips legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:700}.quick-chips>div{flex-wrap:wrap;gap:6px;display:flex}.quick-chips button{background:#fff;border:1px solid #c9d3e0;border-radius:20px;min-height:40px;padding:6px 12px;font-size:14px}.quick-chips button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.quick-chips label{align-items:center;gap:6px;margin-top:8px;font-size:14px;display:flex}.quick-chips input{border:1px solid #c9d3e0;border-radius:10px;width:100px;min-height:40px;padding:4px 8px;font-size:16px}.quick-add{border-radius:10px;min-height:50px}@media (width>=781px){.quick-layout{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start}}.input-rating{z-index:2;color:inherit;background:#ffffff14;border-radius:12px;margin:16px 0 0;padding:14px;position:relative}.input-rating strong{margin-bottom:8px;font-size:15px;display:block}.input-rating>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.input-rating>div button{min-height:54px;color:var(--color-accent);font:700 16px var(--font-number);background:#fff;border:1px solid #c9d3e088;border-radius:10px;gap:2px;padding:4px;display:grid}.input-rating>div small{font:400 10px var(--font-body);color:var(--color-text-muted)}.input-rating-skip{min-height:40px;color:inherit;background:0 0;border:0;margin-top:6px;text-decoration:underline}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f7fa;--color-surface:#fff;--color-surface-soft:#f9fafc;--color-text-primary:#1b2a44;--color-text-muted:#5a6780;--color-accent:#002f6c;--color-border:#e3e8ef;--color-accent-strong:#001f4a;--color-accent-soft:#e6edf6;--color-brand-green:#00c389;--color-brand-green-text:#00805a;--color-brand-green-soft:#e3f7ef;--color-destructive:#a34343;--color-night:#001a3d;--color-in-bed:#b7becb;--color-before-attempt:#8e7cc3;--color-attempt-to-wake:#3f74c4;--color-after-wake:#e0a43a;--font-body:"Outfit", "Pretendard Variable", system-ui, sans-serif;--font-display:"Outfit", "Hangeul Nuri", "Pretendard Variable", system-ui, sans-serif;--font-number:"Outfit", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-control:10px;--radius-card:19px;--radius-panel:0px;--shadow-panel:none;--shell-header-height:62px;--shell-nav-height:64px;--motion-step:.25s;--motion-zoom:.42s;--motion-reveal:.5s;--motion-quick:.15s;--motion-calm:.35s}@font-face{font-family:Outfit;src:url(/assets/Outfit-latin-variable-Bc-8i84L.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Hangeul Nuri;src:url(/assets/HangeulNuriR-BeI52v7y.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Hangeul Nuri;src:url(/assets/HangeulNuriB-wHPlEakn.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-background);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[role=slider]:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.app-shell{min-height:100dvh;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.app-shell.login-shell{padding-bottom:0}.login-screen{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:var(--color-background);place-items:center;display:grid}.login-content{justify-items:start;gap:12px;width:min(100%,440px);display:grid}.login-content .brand-mark{width:52px;height:52px;margin-bottom:12px}.login-content h1{font:700 clamp(28px, 7vw, 38px) var(--font-display);color:#1d2a3a;margin:0;line-height:1.3}.login-content>p{color:#627082;margin:0 0 18px;font-size:15px;line-height:1.65}.social-login-list{gap:10px;width:100%;display:grid}.social-login{color:#232f3e;background:#fff;border:1px solid #d9e0e8;border-radius:13px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;padding:11px 18px;font-size:15px;font-weight:700;display:flex}.social-login-icon{object-fit:contain;flex:none;width:22px;height:22px;display:block}.social-login small{color:#717e90;font-size:11px;font-weight:400}.social-login:disabled,.social-login.unavailable{opacity:1;color:#737f8f;cursor:default;background:#eff2f5}.social-login:disabled small,.social-login.unavailable small{color:#7f8996}.social-kakao:not(:disabled){color:#191919;background:#fee500;border-color:#fee500}.social-custom-naver:not(:disabled){color:#fff;background:#03a94d;border-color:#03a94d}.login-legal{color:#687587;margin-top:12px;font-size:12px;line-height:1.6}.header-signout,.auth-signout{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:8px;padding:8px 10px;font-size:12px}.auth-signout{margin-top:20px}.page-controls{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;margin:14px 0 18px;font-size:13px;display:flex}.page-controls button{border:1px solid var(--color-border);background:var(--color-surface);min-width:80px;min-height:44px;color:var(--color-text-primary);border-radius:10px;padding:8px 12px;font-weight:700}.page-controls button:disabled{opacity:.42}.viewport-tabs{border:1px solid var(--color-border);background:var(--color-surface);border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:24px;padding:5px;display:grid}.viewport-tabs button{min-height:44px;color:var(--color-text-muted);background:0 0;border:0;border-radius:9px;padding:7px 5px;font-size:13px;font-weight:700}.viewport-tabs button[aria-selected=true]{color:#001d44;background:#e9f0f9}.chapter-week>h2{padding:14px 0;font-size:18px}.chapter-week>h2 small{color:var(--color-text-muted);font-size:12px;font-weight:400}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:28px;height:76px;padding:0 max(5vw,50vw - 680px);display:flex}.brand{color:#1d2c40;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:10px;font-size:25px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#002f6c;border-radius:12px;place-items:center;width:37px;height:37px;display:grid;transform:rotate(-9deg)}.header-note{color:#768291;border-left:1px solid #d9e0e8;padding-left:25px;font-size:13px}.demo-label{color:#828fa1;margin-left:auto;font-size:12px}.hero{background:var(--color-night);color:#fff;grid-template-columns:1fr 450px;min-height:370px;padding:56px max(5vw,50vw - 680px) 44px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2}.hero-date{color:#b7c8df;letter-spacing:.04em;margin:0 0 15px;font-size:14px}.hero h1,.secondary-page h1{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(37px,4.4vw,61px);font-weight:700;line-height:1.22}.hero h1 em,.secondary-page h1 em{color:#a8c9f3;font-style:normal}.hero-description{color:#bfcbda;margin:18px 0 24px;font-size:15px;line-height:1.9}.hero-progress{color:#cbd7e7;align-items:center;gap:14px;font-size:12px;display:flex}.progress-orbs{gap:5px;display:flex}.progress-orbs span{background:#34445a;border-radius:9px;width:19px;height:8px}.progress-orbs span.filled{background:#a7c8f2}.hero-art{place-items:center;min-height:260px;display:grid;position:relative}.orbit{border:1px solid #3b4d65;border-radius:50%;width:330px;height:330px;position:absolute}.orbit-b{border-color:#4d627d;width:240px;height:240px}.moon-glow{background:radial-gradient(circle at 38% 35%,#e8f1fc,#b7cde9 65%,#8dacd5);border-radius:50%;place-items:center;width:198px;height:198px;animation:7s ease-in-out infinite float;display:grid;box-shadow:0 0 85px 20px #aeccf336}.moon-core{background:radial-gradient(circle at 30% 25%,#f9f6f2,#e4eefa 58%,#b9cee9);border-radius:50%;width:157px;height:157px;box-shadow:inset -19px -12px 25px #7790b047}.star{color:#edf4fc;position:absolute}.star-a{font-size:25px;animation:4s infinite twinkle;top:12%;left:16%}.star-b{font-size:18px;animation:4s 1s infinite twinkle;top:26%;right:11%}.star-c{font-size:14px;animation:4s 2s infinite twinkle;bottom:22%;left:12%}.hero-horizon{filter:blur(48px);background:#1b2e46;border-radius:50%;width:520px;height:120px;position:absolute;bottom:-70px}.content-grid{grid-template-columns:minmax(0,1fr) 302px;align-items:start;gap:30px;max-width:1360px;margin:0 auto;padding:45px 5vw 80px;display:grid}.diary-panel,.insight-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.diary-panel{padding:30px}.diary-fields{border:0;min-width:0;margin:0;padding:0}.diary-load-state{border-radius:var(--radius-control);background:var(--color-surface-soft);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:12px;display:flex}.diary-load-state button{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:#fff;min-height:36px;padding:6px 10px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-index{color:#003070;font-family:var(--font-number);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.section-heading h2{font-family:var(--font-display);letter-spacing:-.04em;margin:10px 0 6px;font-size:29px}.section-heading p,.reflection p{color:#8591a0;margin:0;font-size:13px;line-height:1.65}.date-stepper{white-space:nowrap;color:#47576b;background:#f5f8fb;border:1px solid #eceff4;border-radius:12px;align-items:center;font-size:13px;font-weight:700;display:flex}.date-stepper button{color:#576a83;background:0 0;border:0;width:44px;height:44px;font-size:24px}.date-stepper input[type=date]{color:#47576b;width:132px;min-width:0;font:inherit;background:0 0;border:0;padding:0 2px}.entry-grid{grid-template-columns:minmax(290px,1fr) minmax(300px,1fr);gap:22px;margin-top:27px;display:grid}.clock-card,.duration-card{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:0;padding:21px}.clock-tabs{background:#e9edf3;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.clock-tabs button{color:#687586;white-space:nowrap;background:0 0;border:0;border-radius:9px;min-height:44px;padding:9px 4px;font-size:11px;font-weight:700}.clock-tabs button.active{color:#002658;background:#fff;box-shadow:0 2px 7px #2c3c5015}.clock-caption{text-align:center;flex-direction:column;gap:2px;margin-top:20px;display:flex}.clock-caption span{color:#748294;font-size:12px}.clock-caption strong{font-family:var(--font-display);color:#001c40;font-size:24px}.clock-caption small{color:#9aa5b3;font-size:11px}.dial-area{text-align:center}.clock-dial{-webkit-user-select:none;user-select:none;width:min(100%,280px);margin:12px auto 3px;display:block;overflow:visible}.dial-face{fill:#f6f9fc}.dial-ring{fill:none;stroke:#e2e8f0;stroke-width:18px}.dial-in-bed,.dial-before-attempt,.dial-attempt-to-wake,.dial-after-wake{fill:none;stroke-width:17px;transition:stroke var(--motion-calm) ease}.dial-in-bed{stroke:var(--color-in-bed);stroke-width:24px}.dial-before-attempt{stroke:var(--color-before-attempt)}.dial-attempt-to-wake{stroke:var(--color-attempt-to-wake)}.dial-after-wake{stroke:var(--color-after-wake)}.clock-legend{text-align:left;color:var(--color-text-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0 0 13px;font-size:10px;line-height:1.4;display:grid}.clock-legend span{align-items:flex-start;gap:6px;display:flex}.clock-legend span:before{content:"";background:var(--legend-color);border-radius:50%;flex:0 0 9px;height:9px;margin-top:2px}.legend-in-bed{--legend-color:var(--color-in-bed)}.legend-before-attempt{--legend-color:var(--color-before-attempt)}.legend-attempt-to-wake{--legend-color:var(--color-attempt-to-wake)}.legend-after-wake{--legend-color:var(--color-after-wake)}.timeline-warning{color:var(--color-destructive);font-size:11px}.preset-notice{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--color-surface-soft);color:var(--color-text-muted);margin:18px 0 -8px;padding:12px 14px;font-size:12px;line-height:1.5}@media (prefers-reduced-motion:reduce){.dial-in-bed,.dial-before-attempt,.dial-attempt-to-wake,.dial-after-wake{transition:none}}.dial-tick{stroke:#9ba8b9;stroke-width:1.4px}.dial-inner{fill:#fff;filter:drop-shadow(0 3px 12px #00367c21)}.dial-label{font:11px var(--font-number);fill:#67778d}.dial-center-small{font:12px var(--font-body);fill:#8a97a8}.dial-center-time{font:600 29px var(--font-number);fill:#001c41}.dial-handle{fill:#003376;stroke:#fff;stroke-width:4px;filter:drop-shadow(0 3px 5px #002e6b5d)}.period-switch{background:#e9eef5;border-radius:10px;padding:3px;display:inline-flex}.period-switch button{color:#6c7c90;background:0 0;border:0;border-radius:8px;min-width:68px;padding:7px;font-size:12px;font-weight:700}.period-switch button.selected{color:#002658;background:#fff;box-shadow:0 1px 4px #2534471e}.dial-help{color:#9aa4b2;margin:10px 0 14px;font-size:10px}.clock-values{grid-template-columns:1fr 1fr;gap:7px;display:grid}.clock-values button{text-align:left;background:#fff;border:1px solid #e6eaf0;border-radius:10px;min-height:52px;padding:10px 11px}.clock-values button.current{background:#f4f8fd;border-color:#87a7d1}.clock-values span{color:#818d9d;margin-bottom:3px;font-size:10px;display:block}.clock-values strong{font-family:var(--font-number);color:#3b4f6a;font-size:14px}.duration-card{flex-direction:column;gap:14px;display:flex}.duration-title span{font-size:15px;font-weight:700}.duration-title p{color:#929caa;margin:4px 0 0;font-size:11px;line-height:1.6}.duration-input{background:#fff;border:1px solid #e8ecf1;border-radius:13px;padding:14px}.duration-head{justify-content:space-between;align-items:start;gap:4px;display:flex}.duration-head label{color:#37485f;font-size:12px;font-weight:700}.duration-head p{color:#9aa5b3;margin:3px 0;font-size:10px}.duration-head strong{color:#002e6a;white-space:nowrap;font-size:16px}.duration-input input[type=range]{accent-color:#003780;touch-action:pan-y;width:100%;height:23px;margin:10px 0 0}.range-marks{color:#a8b0bb;justify-content:space-between;font-size:10px;display:flex}.duration-actions{gap:5px;margin-top:10px;display:flex}.duration-actions button{color:#596a81;white-space:nowrap;background:#f9fbfe;border:1px solid #e8ecf2;border-radius:7px;padding:6px 8px;font-size:10px}.duration-actions .extend{color:#002f6d;background:#f3f7fd;margin-left:auto}.duration-exact{color:#596a81;align-items:center;gap:8px;margin-top:11px;font-size:11px;display:flex}.duration-exact input{color:#37485f;width:72px;min-height:38px;font:inherit;background:#fff;border:1px solid #d7e1ee;border-radius:8px;padding:6px 8px;font-size:14px}.sleep-comparison{border-top:1px solid #e4e9ef;padding:11px 3px 0}.sleep-comparison div{color:#7f8b9b;justify-content:space-between;margin:7px 0;font-size:11px;display:flex}.sleep-comparison strong{color:#002658}.sleep-comparison p{color:#9aa4b0;margin:8px 0 0;font-size:10px;line-height:1.5}.reflection{border-top:1px solid #edeff2;grid-template-columns:200px 1fr;gap:20px;margin-top:30px;padding-top:25px;display:grid}.reflection h3{font-family:var(--font-display);margin:8px 0 4px;font-size:21px}.reflection-input{flex-direction:column;gap:8px;display:flex}.quality{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.quality button{color:#68778b;background:#fff;border:1px solid #e4e8ee;border-radius:8px;padding:9px 11px;font-size:11px}.quality button.selected{color:#00285d;background:#f2f7fd;border-color:#003c8b}.reflection-input label{font-size:12px;font-weight:700}.reflection-input textarea{resize:vertical;border:1px solid #e4e9ef;border-radius:10px;min-height:70px;padding:12px;font-size:12px}.reflection-input small{color:#9aa3af;font-size:10px}.review-flags,.daytime-confirm{color:#5a4d2e;background:#fff9e9;border:1px solid #f0e4bf;border-radius:12px;margin-top:22px;padding:16px;font-size:12px;line-height:1.65}.review-flags p{margin:6px 0}.review-flags small{color:#857959}.daytime-confirm button{background:#fff;border:1px solid #cabf97;border-radius:8px;margin-top:4px;margin-right:6px;padding:8px;font-size:11px}.save-row{border-top:1px solid #edeff2;justify-content:space-between;align-items:center;gap:16px;margin-top:25px;padding-top:23px;display:flex}.save-row div{flex-direction:column;gap:4px;display:flex}.save-row strong{font-size:13px}.save-row span{color:#9aa3af;font-size:11px}.primary-button{color:#fff;white-space:nowrap;background:#002d68;border:0;border-radius:11px;justify-content:center;align-items:center;gap:15px;min-height:46px;padding:12px 18px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 8px 17px #002d682d}.primary-button:not(:disabled):hover{background:#002352}.insight-panel{padding:23px;position:sticky;top:20px;overflow:hidden}.insight-header{justify-content:space-between;align-items:center;display:flex}.insight-header>span:last-child{color:#8e9bac;font-family:var(--font-number);font-size:11px}.insight-illustration{place-items:center;height:200px;display:grid;position:relative}.insight-circle{color:#00367c;background:#e8f0fa;border-radius:50%;place-items:center;width:100px;height:100px;animation:7s 1s infinite float;display:grid;box-shadow:0 0 0 23px #f2f6fb,0 0 0 46px #f8fafd}.insight-wave{background:#c9d7ea;width:100px;height:1px;position:absolute;transform:rotate(-15deg)}.wave-one{top:40px;left:9px}.wave-two{bottom:38px;right:4px}.insight-panel h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 12px;font-size:25px;line-height:1.42}.insight-copy{animation:.55s both rise}.insight-copy p{color:#768496;margin:0 0 20px;font-size:12px;line-height:1.85}.text-link{color:#002f6d;text-align:left;background:0 0;border:0;border-top:1px solid #e9ecf0;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-size:11px;font-weight:700;display:flex}.insight-foot{color:#a2abb7;border-top:1px solid #e9ecf0;padding-top:17px;font-size:10px}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom));z-index:10;padding:0 max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));background:#fff;border-top:1px solid #e9ecf1;justify-content:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#9ba5b2;background:0 0;border:0;align-items:center;gap:8px;min-width:0;padding:0 16px;font-size:12px;display:flex}.bottom-nav button.active{color:#002d68;border-top:2px solid #003275;font-weight:700}.service-footer{color:#758293;text-align:center;border-top:1px solid #e9ecf1;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 20px;padding:25px 18px 32px;font-size:11px;display:flex}.service-footer strong{color:#4e5b6d}.service-footer a{color:#002d68}.secondary-page h1{color:#1c2c40;margin:18px 0}.secondary-page>p{color:#7e8a9a;font-size:15px;line-height:1.8}.secondary-page h1 em{color:#00367c}.trend-card{background:#fff;border:1px solid #e7ebf0;border-radius:22px;margin:38px 0 23px;padding:28px}.trend-card h2{font-family:var(--font-display);font-size:23px}.demo-chart{border-bottom:1px solid #e9ecf1;justify-content:space-around;align-items:end;height:240px;padding:10px;display:flex}.demo-chart div{flex-direction:column;justify-content:end;align-items:center;gap:8px;height:100%;display:flex}.demo-chart span{background:linear-gradient(#c3d6f0,#e6edf7);border-radius:8px 8px 0 0;width:33px;display:block}.demo-chart small{color:#8c98a7;font-size:11px}.chart-note{color:#9aa4b1;font-size:12px;line-height:1.6}.recent-chart{margin:22px 0 28px}.recent-chart-legend{color:#596678;flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:11px;display:flex}.recent-chart-legend span{align-items:center;gap:6px;display:inline-flex}.recent-chart-legend span:before{content:"";background:#003983;border-radius:3px;width:10px;height:10px}.recent-chart-legend span+span:before{background:#a8b3c2}.recent-chart ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.recent-chart li{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;min-height:52px;display:grid}.recent-chart time{color:#576578;font-size:12px;font-weight:700}.recent-chart-missing{color:#8993a1;border:1px dashed #d5dbe3;border-radius:9px;padding:13px;font-size:11px}.recent-chart-metrics{gap:4px;display:grid}.recent-chart-metric{grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:8px;min-height:21px;display:grid}.recent-chart-track{background:#f0f3f7;border-radius:4px;height:15px;overflow:hidden}.recent-chart-track>span{background:#003983;border-radius:4px;height:100%;display:block}.recent-chart-metric.in-bed .recent-chart-track>span{background:#a8b3c2}.recent-chart-metric strong{color:#596678;text-align:right;white-space:nowrap;font-size:10px;font-weight:500}.record-list-title{color:#3b4b60;border-top:1px solid #e9ecf1;margin:0;padding-top:20px;font-size:15px}.weekly-card{margin-top:0}.weekly-card>p{color:#7d8795;font-size:12px;line-height:1.6}.weekly-list{gap:8px;margin-top:18px;display:grid}.weekly-list>div{background:#f7f9fc;border-radius:12px;grid-template-columns:minmax(115px,1fr) repeat(3,minmax(0,1.2fr));align-items:center;gap:10px;padding:13px;font-size:11px;display:grid}.weekly-list strong{font-size:12px}.weekly-list small{color:#8995a4;margin-top:4px;font-weight:400;display:block}.weekly-list span{color:#566373}@media (width<=700px){.weekly-list>div{grid-template-columns:1fr 1fr}}.record-list button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ecf1;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:15px;display:flex}.record-list button strong{margin-left:auto}.chapter-list{gap:13px;margin:35px 0;display:grid}.chapter-week{background:#f8fafd;border:1px solid #e7ebf0;border-radius:17px;padding:4px 12px 12px}.chapter-week summary{cursor:pointer;color:#4c5e75;justify-content:space-between;align-items:center;padding:16px 10px;font-weight:700;list-style:none;display:flex}.chapter-week summary::-webkit-details-marker{display:none}.chapter-week summary:after{content:"⌄";margin-left:10px;font-size:18px}.chapter-week[open] summary:after{transform:rotate(180deg)}.chapter-week summary small{color:#8b98aa;margin-left:auto;font-weight:400}.chapter-week article+article{margin-top:8px}.chapter-list article{background:#fff;border:1px solid #e7ebf0;border-radius:17px;grid-template-columns:80px 1fr;gap:17px;padding:22px;display:grid}.chapter-list article>span{font:700 12px var(--font-number);color:#003983}.chapter-list article h3{font-family:var(--font-display);margin:0 0 8px;font-size:21px}.chapter-list article p{color:#7b8899;font-size:13px;line-height:1.8}.chapter-list article strong{color:#003171;font-size:11px}.chapter-list article.locked{opacity:.55}.education-note{background:#eef4fb;border-radius:10px;padding:15px;font-size:12px!important}.chapter-list article{animation:.55s both rise}.chapter-list article:nth-child(2){animation-delay:80ms}.chapter-list article:nth-child(3){animation-delay:.16s}.chapter-list article:nth-child(4){animation-delay:.24s}@keyframes float{50%{transform:translateY(-10px)}}@keyframes twinkle{50%{opacity:.3;transform:scale(.75)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.content-grid{grid-template-columns:1fr}.insight-panel{max-width:none;position:static}.insight-illustration{height:145px}.insight-panel h2{max-width:500px}.hero{grid-template-columns:1fr 330px}}@media (width<=780px){.site-header{height:62px;padding:0 20px}.header-note{display:none}.demo-label{font-size:10px}.hero{grid-template-columns:1fr;min-height:190px;padding:20px 22px}.hero-date{margin-bottom:8px}.hero-progress{margin-top:14px}.hero-progress .progress-orbs{display:none}.hero-copy{z-index:2;position:relative}.hero h1{font-size:34px}.hero-description,.hero-art{display:none}.content-grid{gap:18px;padding:14px 14px 24px}.diary-panel{border-radius:18px;padding:18px}.section-heading h2{font-size:24px}.section-heading p{font-size:11px}.entry-grid{grid-template-columns:1fr;gap:13px}.clock-card,.duration-card{padding:14px}.reflection{grid-template-columns:1fr;gap:17px}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom));justify-content:space-around;gap:0}.bottom-nav button{flex-direction:column;flex:1;justify-content:center;gap:3px;padding:0 4px;font-size:11px}.save-row{flex-direction:column;align-items:stretch}.save-row .primary-button{width:100%}}@media (width<=380px){.brand{font-size:20px}.demo-label{text-align:right;max-width:130px;font-size:9px}.section-heading{align-items:start}.date-stepper button{width:27px}.clock-tabs button{font-size:10px}.duration-head strong{font-size:14px}.quality button{padding:7px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.account-strip{background:#eef4fb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;max-width:1360px;margin:16px auto 0;padding:12px 5vw;display:flex}.account-strip>div{flex-direction:column;gap:3px;display:flex}.account-strip strong{color:#002556;font-size:12px}.account-strip span{color:#71849c;font-size:11px}.account-strip form{flex-wrap:wrap;gap:6px;display:flex}.account-strip input{border:1px solid #d8e2ef;border-radius:7px;min-height:36px;padding:7px;font-size:11px}.account-strip button{color:#002d68;white-space:nowrap;background:#fff;border:1px solid #b8c9df;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.account-strip.login-first{background:#f7faf9;border:1px solid #d9e0e8;border-radius:22px;gap:20px;max-width:580px;margin:clamp(28px,7vh,72px) auto 0;padding:clamp(22px,5vw,34px);display:grid;box-shadow:0 20px 55px #001b3d14}.account-strip.login-first strong{color:#001b3d;font-size:20px}.account-strip.login-first span{color:#536070;font-size:13px;line-height:1.6}.account-strip.login-first form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.account-strip.login-first input{border-color:#b9c3cf;min-width:0;min-height:48px;padding:10px 14px;font-size:16px}.account-strip.login-first button{color:#fff;background:#001b3d;border-color:#001b3d;min-height:48px;padding:10px 17px;font-size:14px}.auth-gate{color:#001b3d;max-width:580px;margin:20px auto 90px;padding:0 12px}.auth-gate h1{font:700 clamp(24px, 5vw, 34px) var(--font-display);margin:12px 0 8px;line-height:1.35}.auth-gate p{color:#4f5c6d;margin:0;font-size:14px;line-height:1.7}.auth-gate small{color:#6b777b;margin-top:18px;font-size:12px;line-height:1.6;display:block}@media (width<=620px){.account-strip.login-first{margin:24px 14px 0}.account-strip.login-first form{grid-template-columns:1fr}.auth-gate{margin:24px 14px 80px}}.login-disclosure{color:#4d5866;max-width:1360px;margin:7px auto 0;padding:0 5vw;font-size:12px;line-height:1.6}.account-message{color:#002d67;max-width:1360px;margin:8px auto;padding:0 5vw;font-size:12px}.unsaved-message{color:#69472d;flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.unsaved-message button{color:inherit;font:inherit;cursor:pointer;background:#fff8e9;border:1px solid #b78b62;border-radius:8px;padding:5px 10px;font-weight:700}.consent-panel{color:#4d493e;background:#fffaf0;border:1px solid #e9dcc1;border-radius:12px;max-width:1360px;margin:10px auto 0;padding:14px 5vw;font-size:12px;line-height:1.65}.account-management{max-width:1360px;color:var(--color-text-muted);margin:12px auto 0;padding:0 5vw;font-size:13px}.account-management summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--color-text-primary);align-items:center;font-weight:700;list-style:none;display:flex}.account-management summary::-webkit-details-marker{display:none}.account-management summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin-right:9px;transform:rotate(-45deg)}.account-management[open] summary:before{transform:rotate(45deg)}.account-management p{margin:2px 0 12px}.account-actions{flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.account-actions button{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-primary);border-radius:10px;padding:8px 12px}.account-actions span{width:100%;color:var(--color-destructive)}.consent-panel p{max-width:950px;margin:6px 0 10px}.consent-panel label{align-items:flex-start;gap:7px;margin-bottom:10px;display:flex}.consent-panel input{margin-top:4px}.consent-panel button{color:#4d493e;background:#fff;border:1px solid #cdbd9d;border-radius:8px;min-height:44px;padding:8px 13px;font-size:14px}.service-consent-panel{font-size:14px}.service-consent-panel button{min-height:40px;font-size:14px}.service-consent-facts{grid-template-columns:minmax(95px,130px) 1fr;gap:8px 12px;max-width:950px;margin:14px 0;font-size:14px;line-height:1.55;display:grid}.service-consent-facts dt{font-weight:700}.service-consent-facts dd{margin:0}.consent-active{justify-content:space-between;align-items:center;gap:8px;display:flex}.account-delete{border-top:1px solid #e9dcc1;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:10px;display:flex}.account-delete button{color:#a34343}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=780px){.account-strip{border-radius:0;flex-direction:column;align-items:stretch;margin:0;padding:12px 20px}.account-strip form{width:100%}.account-strip input{flex:1;min-width:0}.account-message{padding:0 20px}}.hero-copy{animation:.65s 80ms both rise}.hero-art{animation:.8s .15s both rise}.diary-panel{animation:.65s .18s both rise}.insight-panel{animation:.7s .28s both rise}.clock-card,.duration-card{transition:box-shadow .25s,transform .25s}.clock-tabs button,.period-switch button,.quality button,.date-stepper button,.bottom-nav button,.primary-button,.text-link,.duration-actions button{transition:background-color .18s,color .18s,transform .18s,box-shadow .18s}.clock-tabs button:active,.period-switch button:active,.quality button:active,.date-stepper button:active,.duration-actions button:active{transform:scale(.96)}.primary-button:not(:disabled):active{transform:scale(.97)}.dial-handle{transition:cx .17s cubic-bezier(.2,.8,.2,1),cy .17s cubic-bezier(.2,.8,.2,1)}.progress-orbs span{transition:background-color .35s,transform .35s}.progress-orbs span.filled{transform:scaleY(1.25)}.diary-panel.saved{animation:.7s both record-saved}.review-flags,.daytime-confirm,.account-message{animation:.25s both rise}@keyframes record-saved{0%{box-shadow:0 0 #779bcb50}55%{box-shadow:0 0 0 12px #779bcb13}to{box-shadow:0 18px 50px #22324609}}@media (prefers-reduced-motion:reduce){.hero-copy,.hero-art,.diary-panel,.insight-panel,.insight-copy,.review-flags,.daytime-confirm,.account-message{animation:none!important}.dial-handle,.progress-orbs span,.clock-tabs button,.period-switch button,.quality button,.date-stepper button,.bottom-nav button,.primary-button,.text-link,.duration-actions button{transition:none!important}}@media (width<=780px){.hero-art{animation:none}}.app-shell.screen-shell{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.screen-shell .account-message{z-index:25;top:calc(66px + env(safe-area-inset-top));background:var(--color-surface);width:fit-content;max-width:calc(100vw - 32px);margin:0;padding:9px 12px;position:fixed;left:16px;right:16px;box-shadow:0 8px 26px #101d2d1d}.site-header{z-index:30;height:calc(var(--shell-header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));border:0;gap:12px;position:relative}.brand{gap:10px;font-size:20px}.brand-clock{border-radius:8px;flex:none;width:36px;height:36px;display:block}.login-brand-clock{border-radius:11px;width:52px;height:52px;margin-bottom:12px}.header-account{margin-left:auto;position:relative}.header-account>summary{min-height:44px;color:var(--color-text-muted);cursor:pointer;place-items:center;padding:0 4px;font-size:12px;font-weight:700;list-style:none;display:grid}.header-account>summary::-webkit-details-marker{display:none}.header-account[open]>summary{color:var(--color-accent)}.header-account-panel{z-index:40;background:var(--color-surface);width:min(330px,100vw - 28px);color:var(--color-text-primary);gap:4px;padding:16px;display:grid;position:absolute;top:50px;right:0;box-shadow:0 14px 42px #101d2d24}.header-account-panel strong{font-size:16px}.header-account-panel p{color:var(--color-text-muted);margin:3px 0 8px;font-size:12px;line-height:1.5}.header-account-panel button{border:0;border-top:1px solid var(--color-border);min-height:44px;color:var(--color-text-primary);text-align:left;background:0 0;padding:9px 2px;font-size:14px}.header-account-panel button:last-child{color:var(--color-text-muted)}.intro-screen{min-height:calc(100dvh - var(--shell-header-height) - var(--shell-nav-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--color-night);color:#fff;align-items:center;padding:clamp(26px,7vw,72px);display:flex;position:relative;overflow:hidden}.intro-copy{z-index:2;max-width:740px;position:relative}.intro-eyebrow{color:#b2ccef;font:700 13px var(--font-body);letter-spacing:.06em;margin-bottom:22px;animation:.45s both intro-rise;display:block}.intro-copy h1{font:700 clamp(30px, 6vw, 68px)/1.25 var(--font-display);letter-spacing:-.045em;margin:0}.intro-copy h1 span{animation:.5s both intro-rise;display:block}.intro-copy h1 span:first-child{animation-delay:.12s}.intro-copy h1 span:nth-child(2){color:#bcd5f5;animation-delay:.23s}.intro-copy h1 span:nth-child(3){animation-delay:.34s}.intro-copy p{color:#cad6e6;max-width:390px;margin:22px 0 28px;font-size:15px;line-height:1.6;animation:.5s .42s both intro-rise}.intro-start{color:#101d2d;background:#fff;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:26px;min-height:52px;padding:10px 17px;font-weight:700;animation:.5s .55s both intro-rise;display:inline-flex}.intro-clock{aspect-ratio:1;opacity:.72;border:2px solid #87a4cb77;border-radius:50%;width:min(65vw,600px);animation:.9s cubic-bezier(.2,.8,.2,1) both intro-clock-in;position:absolute;top:5%;right:-10%;box-shadow:0 0 0 36px #465d7b19,0 0 0 75px #465d7b0f}.intro-clock:before{content:"";background:conic-gradient(from -90deg, #8e7cc3 0 34%, #9fc3f1 34% 77%, transparent 77%);border-radius:50%;position:absolute;inset:8%;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 15px),#000 calc(100% - 14px));mask:radial-gradient(farthest-side,#0000 calc(100% - 15px),#000 calc(100% - 14px))}.intro-clock-track{border:1px solid #a3b6d058;border-radius:50%;position:absolute;inset:20%}.intro-clock-hand{transform-origin:50% 100%;background:#fff;border-radius:4px;width:6px;height:35%;animation:.9s cubic-bezier(.2,.8,.2,1) .15s both intro-hand-turn;position:absolute;top:15%;left:calc(50% - 3px)}.intro-clock-center{background:#fff;border-radius:50%;width:22px;height:22px;position:absolute;top:calc(50% - 11px);left:calc(50% - 11px)}@keyframes intro-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-clock-in{0%{opacity:0;transform:scale(.7)rotate(-35deg)}to{opacity:.72;transform:scale(1)rotate(0)}}@keyframes intro-hand-turn{0%{transform:rotate(-100deg)}to{transform:rotate(135deg)}}.content-grid.diary-screen{background:var(--color-background);max-width:none;margin:0;padding:0;display:block}.diary-screen .diary-panel{box-shadow:none;background:var(--color-background);border:0;border-radius:0;animation:none}.diary-screen .sequence-shell{box-shadow:none;background:0 0;border:0;border-radius:0}.diary-screen .sequence-progress{border:0}.diary-screen .sequence-progress button.active{color:var(--color-accent);background:0 0}.diary-screen .sequence-progress button.active span{background:var(--color-accent);color:#fff}.diary-screen .sequence-count{color:var(--color-text-muted);background:0 0;border:0;border-radius:0;padding:0}.diary-screen .sequence-question h3,.diary-screen .sequence-review h3{color:var(--color-text-primary)}.diary-screen .sequence-copy{animation-duration:var(--motion-step)}.diary-screen .sequence-copy h3{animation:intro-rise var(--motion-step) 50ms both}.diary-screen .sequence-clock .dial-camera{transition-duration:var(--motion-zoom)}.diary-screen .sequence-dial-head{color:var(--color-text-primary)}.diary-screen .sequence-clock .clock-dial{box-shadow:inset 0 0 0 1px var(--color-border);background:var(--color-surface);border-radius:18px}.diary-screen .sequence-question .duration-input,.diary-screen .sequence-precision button{background:0 0;border:0;border-radius:0}.diary-screen .dial-pin{stroke-width:2px}.diary-screen .timeline-review{box-shadow:none;background:0 0;border:0;border-radius:0}.diary-screen .timeline-metrics div{background:0 0;border:0;border-radius:0}.diary-screen .timeline-metrics .key{background:var(--color-surface-soft)}.sequence-help{color:var(--color-text-muted);margin:5px 0;font-size:12px}.sequence-help summary{cursor:pointer;text-underline-offset:3px;align-items:center;width:fit-content;min-height:32px;text-decoration:underline;list-style:none;display:flex}.sequence-help summary::-webkit-details-marker{display:none}.sequence-help p{margin:0 0 6px;line-height:1.5}.lesson-reveal{min-height:calc(100dvh - var(--shell-header-height) - var(--shell-nav-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));color:var(--color-text-primary);background:#eef2f7;flex-direction:column;justify-content:center;padding:clamp(28px,8vw,90px);display:flex;position:relative}.lesson-reveal-body{transform-origin:50%;max-width:720px;animation:.5s cubic-bezier(.2,.8,.2,1) both lesson-enter}.lesson-reveal-count{color:var(--color-accent);margin-bottom:20px;font-size:13px;font-weight:700;display:block}.lesson-reveal h1{font:700 clamp(32px, 6vw, 62px)/1.2 var(--font-display);letter-spacing:-.045em;margin:0 0 24px}.lesson-reveal-body>p{color:#4e5d70;max-width:570px;font-size:clamp(17px,2vw,21px);line-height:1.75}.lesson-reveal-actions{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.lesson-reveal-actions button{min-height:48px;color:var(--color-accent);background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:inline-flex}.lesson-reveal-actions .primary-button{background:var(--color-accent);color:#fff}.lesson-reveal-note{bottom:calc(80px + env(safe-area-inset-bottom));color:#687587;margin:0;font-size:11px;position:absolute}.lesson-reveal.is-closing .lesson-reveal-body{animation:.39s ease-in both lesson-collect}.learn-page .chapter-week article.just-revealed:not(.locked){animation:.5s cubic-bezier(.2,.8,.2,1) both lesson-list-arrive}@keyframes lesson-enter{0%{opacity:0;transform:translateY(28px)scale(1.025)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lesson-collect{to{opacity:0;transform:translateY(-45px)scale(.82)}}@keyframes lesson-list-arrive{0%{opacity:.2;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.secondary-page{max-width:none;margin:0;padding:28px clamp(20px,5vw,64px) 60px}.secondary-page .trend-card,.secondary-page .weekly-card,.secondary-page .chapter-list{box-shadow:none;background:0 0;border:0;border-radius:0}.learn-page>h1{margin:0;font-size:clamp(28px,5vw,40px)}.learn-page .chapter-list{margin:18px 0 28px}.learn-page .chapter-week{background:0 0;border:0;border-radius:0;padding:0}.learn-page .chapter-week>h2{margin:0;padding:12px 0}.learn-page .chapter-week article{box-shadow:none;background:0 0;border:0;border-radius:0;padding:22px 0}.learn-page .chapter-week article+article{margin-top:0}.learn-page .chapter-week article h3{font-size:20px}.learn-page .lesson-locked-note{color:var(--color-text-muted);font-size:14px}.learn-page .education-note{color:var(--color-text-muted);background:0 0;border-radius:0;padding:0}@media (width>=781px){.app-shell.screen-shell{height:auto;min-height:100dvh;padding-bottom:calc(var(--shell-nav-height) + env(safe-area-inset-bottom));overflow:visible}.content-grid.diary-screen{min-height:calc(100dvh - var(--shell-header-height) - var(--shell-nav-height))}.diary-screen .diary-panel{width:min(100%,940px);margin:0 auto;padding:12px 28px 30px}.diary-screen .section-heading{justify-content:flex-end;min-height:52px;margin:0}.diary-screen .section-heading>div:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.diary-screen .preset-notice{background:0 0;margin:0 0 6px;padding:0;font-size:12px}.diary-screen .sequence-shell{margin:0}.diary-screen .sequence-progress{grid-template-columns:repeat(7,minmax(0,1fr));padding:4px 0;display:grid}.diary-screen .sequence-progress li{min-width:0}.diary-screen .sequence-progress button{justify-content:center;width:100%;min-height:38px;padding:2px;font-size:0}.diary-screen .sequence-progress button span{font-size:11px}.diary-screen .sequence-question{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:24px;width:100%;max-width:none;margin:0;padding:4px 0;display:grid}.diary-screen .sequence-copy{align-self:center}.diary-screen .sequence-clock{width:100%;max-width:470px;margin:0 auto}.diary-screen .sequence-clock .clock-dial{width:min(31dvh,320px)}.diary-screen .sequence-question .duration-input{grid-column:2}.diary-screen .sequence-navigation{width:100%;max-width:none;margin:2px 0 0;padding:4px 0}}@media (width>=781px) and (height<=650px){.diary-screen .sequence-clock .clock-dial{width:min(25dvh,260px)}}@media (width<=780px){.screen-shell main{height:calc(100dvh - var(--shell-header-height) - env(safe-area-inset-top));overflow:hidden}.content-grid.diary-screen{height:calc(100dvh - var(--shell-header-height) - var(--shell-nav-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden}.diary-screen .diary-panel{height:100%;padding:0 16px}.diary-screen .diary-fields{flex-direction:column;height:100%;min-height:0;display:flex}.diary-screen .section-heading{flex:0 0 44px;justify-content:flex-end;min-height:44px;margin:0;padding:0}.diary-screen .section-heading>div:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.diary-screen .date-stepper{background:0 0;border:0;border-radius:0}.diary-screen .preset-notice{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.diary-screen .sequence-shell{flex-direction:column;flex:1;min-height:0;margin:0;display:flex;overflow:hidden}.diary-screen .sequence-progress{flex:0 0 30px;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:visible}.diary-screen .sequence-progress li{min-width:0}.diary-screen .sequence-progress button{border-radius:0;justify-content:center;gap:0;width:100%;min-height:30px;padding:0;font-size:0}.diary-screen .sequence-progress button span{width:23px;height:23px;font-size:10px}.diary-screen .sequence-question{flex-direction:column;flex:1;justify-content:flex-start;width:100%;min-height:0;margin:0;padding:2px 0 0;display:flex;overflow:hidden}.diary-screen .sequence-copy{flex:none}.diary-screen .sequence-question h3{margin:2px 0 0;font-size:clamp(18px,5.2vw,25px);line-height:1.22}.diary-screen .sequence-clock{flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;min-height:0;margin:0;display:flex}.diary-screen .sequence-dial-head{padding:0 2px 3px}.diary-screen .sequence-dial-head strong{font-size:14px}.diary-screen .sequence-dial-head span{font-size:20px}.diary-screen .sequence-clock .dial-area{flex:0 auto;min-height:0}.diary-screen .sequence-clock .clock-dial{width:clamp(120px,min(34dvh,100dvh - 436px),292px);max-width:calc(100vw - 56px);height:auto}.diary-screen .sequence-precision{flex-wrap:nowrap;flex:none;gap:6px;margin:3px 0}.diary-screen .sequence-precision button{min-height:44px;padding:5px 1px;font-size:11px}.diary-screen .sequence-precision label{white-space:nowrap;font-size:11px}.diary-screen .sequence-precision input{min-height:44px;padding:4px 5px;font-size:14px}.diary-screen .sequence-question .duration-input{margin:8px 0;padding:8px 0}.diary-screen .sequence-navigation{flex:none;width:100%;margin:0;padding:2px 0 5px}.diary-screen .sequence-navigation button{min-height:48px}.diary-screen .sequence-navigation button:first-child{background:0 0;border:0;padding:8px 14px 8px 0}.diary-screen .sequence-navigation .primary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;display:flex}.diary-screen.reviewing{overflow-y:auto}.diary-screen.reviewing .diary-panel,.diary-screen.reviewing .diary-fields{height:auto;min-height:100%}.diary-screen.reviewing .sequence-shell{flex:none;overflow:visible}.diary-screen.reviewing .sequence-review{padding:16px 0}.diary-screen.reviewing .reflection{margin-top:12px}.intro-clock{opacity:.34;width:76vw;top:7%;right:-32%}.intro-copy{align-self:center}.intro-copy h1{font-size:clamp(28px,8vw,42px)}.intro-copy p{font-size:14px}.lesson-reveal{padding:30px 24px 100px}.lesson-reveal h1{font-size:34px}.lesson-reveal-note{left:24px;right:24px;bottom:calc(76px + env(safe-area-inset-bottom))}}@media (height<=650px) and (width<=780px){.diary-screen .sequence-question{justify-content:flex-start;overflow:hidden}.diary-screen .sequence-clock{flex:1}.diary-screen .sequence-clock .dial-area{flex:0 auto}.diary-screen .sequence-clock .clock-dial{width:clamp(120px,100dvh - 436px,230px)}.diary-screen .sequence-question h3{font-size:19px}.diary-screen .sequence-help{margin:0}}@media (height<=540px) and (width<=780px){.diary-screen .sequence-question{overflow-y:auto}.diary-screen .sequence-clock,.diary-screen .sequence-clock .dial-area{flex:none}}@media (width<=380px){.intro-clock{opacity:.22;top:-12%;right:-65%}}@media (prefers-reduced-motion:reduce){.intro-eyebrow,.intro-copy h1 span,.intro-copy p,.intro-start,.intro-clock,.intro-clock-hand,.diary-screen .sequence-copy h3,.lesson-reveal-body,.lesson-reveal.is-closing .lesson-reveal-body,.learn-page .chapter-week article.just-revealed{animation:none!important}}.bottom-nav button.active{color:var(--color-accent);border-top-color:var(--color-brand-green)}.diary-screen .sequence-progress button.done span{background:var(--color-brand-green-soft);color:var(--color-brand-green-text)}.diary-screen .sequence-question h3{margin-top:4px}.diary-screen .sequence-dial-head{justify-content:center;padding:4px 6px 8px}.diary-screen .sequence-dial-head strong{font-size:20px}.secondary-page{margin-top:28px}.secondary-page>h1{margin:0 0 16px;font-size:clamp(26px,6vw,36px);line-height:1.3}.secondary-page .viewport-tabs{margin-top:0}.secondary-page .trend-card{margin-top:20px}.unsaved-message{gap:6px 12px;padding-top:6px;padding-bottom:6px}.unsaved-message button{min-height:32px}.page-controls button{min-width:64px;color:var(--color-accent);background:0 0;border:0}.page-controls button:disabled{color:var(--color-text-muted)}.viewport-tabs{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}
