.app-referral{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:40px;padding:clamp(20px,4vw,28px)}.app-referral h2{color:var(--brand-deep);margin:0;font-size:1.12rem}.app-referral__description{color:var(--muted);margin:10px 0 18px}.app-referral__status{color:var(--brand-dark);margin:12px 0 0}.app-referral__error{color:var(--danger);margin:12px 0 0}.beta-admission{background:var(--canvas);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.beta-admission__card{background:var(--paper);border:1px solid var(--line);border-radius:12px;width:min(520px,100%);padding:clamp(28px,6vw,48px)}.beta-admission__eyebrow{color:var(--brand-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin:0 0 10px}.beta-admission h1{font-size:var(--font-size-title);margin:0;line-height:1.45}.beta-admission__description{color:var(--muted);margin:18px 0 28px}.beta-admission form{gap:12px;display:grid}.beta-admission label{font-weight:var(--font-weight-medium)}.beta-admission input{width:100%;min-height:48px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:10px 12px}.beta-admission input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.beta-admission button{margin-top:8px}.beta-admission__error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:0;padding:10px 12px}:root,:root:lang(ja){--font-family-body-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", system-ui, sans-serif;--font-family-ui:var(--font-family-body-ja);--font-family-body:var(--font-family-body-ja);--font-family-editor:var(--font-family-body-ja);--font-family-number:var(--font-family-body-ja);--font-size-body:1rem;--font-size-editor:1rem;--font-size-small:.875rem;--font-size-title:clamp(1.25rem, 4vw, 1.75rem);--font-weight-regular:400;--font-weight-medium:600;--font-weight-bold:700;--line-height-ui:1.45;--line-height-body-ja:1.7;--line-height-editor-ja:1.75;--letter-spacing-ui-ja:0;--letter-spacing-body-ja:0;--line-height-body:var(--line-height-body-ja)}:root{color:#10233f;font-family:var(--font-family-body);font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#10233f;--muted:#52657f;--canvas:#f7faff;--paper:#fff;--line:#ccdaec;--line-strong:#9ebce1;--brand-light:#d6e9ff;--brand:#4a90e2;--brand-dark:#0d3b8e;--brand-deep:#082b69;--brand-soft:#edf6ff;--accent:#4a90e2;--danger:#b4233a;--danger-dark:#85172a;--danger-soft:#fff0f3;--warning:#71510a;--warning-soft:#fff7db;--focus:#4a90e2;--shadow-raised:0 20px 52px #0d3b8e24;background:#f7faff}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;scroll-padding-top:88px}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--canvas);font-size:var(--font-size-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body-ja);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}#main-content:focus{outline:none}.skip-link{z-index:100;color:#fff;background:var(--brand-deep);box-shadow:var(--shadow-raised);border-radius:8px;padding:10px 14px;text-decoration:none;position:fixed;top:10px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.app-header{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:72px;padding:0 max(20px,50vw - 520px);display:flex;position:sticky;top:0}.wordmark{color:var(--brand-dark);align-items:baseline;gap:.3rem;text-decoration:none;display:inline-flex}.wordmark__name{font-size:1.08rem;font-weight:var(--font-weight-bold);letter-spacing:.04em}.wordmark__suffix{color:var(--muted);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);letter-spacing:.04em}.menu-button{width:44px;height:44px;color:var(--brand-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;display:grid}.menu-button:hover,.menu-button[aria-expanded=true]{background:var(--brand-soft);border-color:var(--brand-light)}.menu-button__icon{width:20px;height:14px;position:relative}.menu-button__icon span{transform-origin:50%;background:currentColor;border-radius:999px;width:100%;height:2px;transition:inset .16s,opacity .16s,transform .16s;position:absolute;left:0}.menu-button__icon span:first-child{top:0}.menu-button__icon span:nth-child(2){top:6px}.menu-button__icon span:last-child{top:12px}.menu-button[aria-expanded=true] .menu-button__icon span:first-child{top:6px;transform:rotate(45deg)}.menu-button[aria-expanded=true] .menu-button__icon span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] .menu-button__icon span:last-child{top:6px;transform:rotate(-45deg)}.drawer-backdrop{z-index:25;background:#082b6942;border:0;position:fixed;inset:72px 0 0}.drawer{z-index:30;background:var(--paper);border:1px solid var(--line);width:min(336px,90vw);box-shadow:var(--shadow-raised);border-radius:0 0 0 12px;padding:24px;position:fixed;top:72px;right:max(0px,50vw - 540px)}.drawer a{font-weight:var(--font-weight-medium);border-radius:10px;padding:14px 12px;text-decoration:none;display:block}.drawer a:hover{color:var(--brand-dark);background:var(--brand-soft)}.drawer__label,.eyebrow{color:var(--brand-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);letter-spacing:.09em;margin:0 0 8px}.page{width:min(880px,100% - 32px);margin:0 auto;padding:52px 0 104px}.page-heading{margin-bottom:34px}.page-heading h1,.goal-context h1{max-width:720px;color:var(--brand-deep);font-size:var(--font-size-title);overflow-wrap:anywhere;margin:0 0 12px;line-height:1.45}.page-heading p,.goal-context p{color:var(--muted);margin:6px 0}.home-page>.page-heading{margin-bottom:42px}.home-page>.page-heading h1{letter-spacing:-.02em;max-width:560px;font-size:clamp(1.8rem,7vw,2.75rem)}.home-page>.page-heading>p:last-child{color:#405675;max-width:620px}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;display:flex}.section-heading h2,.draft-card h2{color:var(--brand-deep);margin:0;font-size:1.12rem}.section-heading span{color:var(--brand-dark);background:var(--brand-soft);font-size:var(--font-size-small);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px}.goal-collection{gap:14px;display:grid}.goal-card,.draft-card,.empty-card,.editor-card,.suggestion-panel,.cycle-summary,.terminal-actions,.settings-card,.danger-zone{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,32px)}.goal-card{gap:14px;text-decoration:none;transition:border-color .16s;display:grid}.goal-card:hover{border-color:var(--line-strong)}.goal-card strong{color:var(--brand-deep);overflow-wrap:anywhere;font-size:1.12rem;line-height:1.7}.goal-card__kicker{color:var(--brand-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.goal-card__meta,.history-row__meta,.editor-meta{color:var(--muted);font-size:var(--font-size-small);flex-wrap:wrap;justify-content:space-between;gap:8px 18px;display:flex}.draft-card{margin-top:24px}.draft-card>p:not(.eyebrow){color:var(--muted);overflow-wrap:anywhere}.home-cta{margin-top:24px}.history-link{width:fit-content;color:var(--brand-dark);font-weight:var(--font-weight-medium);text-underline-offset:4px;margin-top:30px;display:block}.button,.primary-button,.secondary-button{cursor:pointer;min-height:44px;font-weight:var(--font-weight-medium);line-height:var(--line-height-ui);text-align:center;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}.button--primary,.primary-button{color:#fff;background:var(--brand-dark)}.button--primary:hover,.primary-button:hover{background:var(--brand-deep)}.button--secondary,.secondary-button{color:var(--brand-dark);border-color:var(--line-strong);background:#fff}.button--secondary:hover,.secondary-button:hover{background:var(--brand-soft);border-color:var(--brand)}.button--danger{color:#fff;background:var(--danger)}.button--danger:hover{background:var(--danger-dark)}.button:disabled,.primary-button:disabled,.secondary-button:disabled,button:disabled{cursor:not-allowed;box-shadow:none;opacity:.48}.button-row,.action-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.text-button,.danger-link{color:var(--danger);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:6px 0;text-decoration:underline}.editor-page,.review-page{width:min(760px,100% - 32px)}.goal-context{border-bottom:1px solid var(--line);margin-bottom:26px;padding:24px 0}.goal-context h1{font-size:1.25rem;font-weight:var(--font-weight-medium)}.editor-card{gap:18px;display:grid}.editor-card label{cursor:text;font-weight:var(--font-weight-bold)}textarea{resize:vertical;width:100%;min-height:210px;color:var(--ink);border:1px solid var(--line-strong);font-family:var(--font-family-editor);font-size:var(--font-size-editor);line-height:var(--line-height-editor-ja);background:#fff;border-radius:12px;padding:17px;transition:border-color .16s,box-shadow .16s}textarea:hover:not([readonly]){border-color:var(--brand)}textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 5px #d6e9ffa6}textarea[readonly]{color:#405675;background:var(--brand-soft)}.editor-meta{font-variant-numeric:tabular-nums;min-height:24px}.save-status{color:var(--muted);margin:0}.save-status--saved{color:var(--brand-dark)}.save-status--error,.inline-error,.counter--error{color:var(--danger)}.inline-error{background:var(--danger-soft);border:1px solid #f2bac4;border-radius:10px;margin:0;padding:12px 14px}.limit-notice,.next-cycle-note{color:var(--warning);background:var(--warning-soft);border:1px solid #ead99e;border-radius:10px;margin:0;padding:12px 14px}.draft-notice{border-radius:12px;margin:0;padding:16px}.draft-notice strong{color:var(--brand-deep)}.draft-notice p{margin:6px 0 0}.draft-notice .button-row{margin-top:14px}.draft-notice--conflict{color:#405675;background:var(--brand-soft);border:1px solid var(--brand-light)}.draft-notice--warning{color:var(--warning);background:var(--warning-soft);border:1px solid #ead99e}.suggestion-panel{background:var(--brand-soft);border-color:var(--line-strong);margin-top:22px}.suggestion-panel>p:not(.eyebrow){overflow-wrap:anywhere;white-space:pre-wrap}.suggestion-panel .button-row{margin-top:18px}.frame-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 12px;display:grid}.frame-tabs button{min-height:64px;color:var(--muted);background:var(--brand-soft);border:1px solid var(--line);cursor:pointer;border-radius:12px 12px 5px 5px;place-content:center;gap:1px;padding:7px;display:grid}.frame-tabs button:hover{color:var(--brand-dark);border-color:var(--line-strong)}.frame-tabs button[aria-selected=true]{color:#fff;background:var(--brand-dark);border-color:var(--brand-dark)}.frame-tabs span{font-size:1.08rem;font-weight:var(--font-weight-bold)}.frame-tabs small{overflow-wrap:anywhere;font-size:var(--font-size-small)}.frame-title{align-items:baseline;gap:12px;display:flex}.frame-title span{color:var(--brand-dark);font-size:1.5rem;font-weight:var(--font-weight-bold)}.frame-title h2{color:var(--brand-deep);margin:0;font-size:1.15rem}.frame-guide{color:var(--muted);margin:0}.read-only-badge,.status{color:#405675;width:fit-content;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);background:#e9eff7;border-radius:999px;padding:4px 10px;display:inline-flex}.status--active_cycle,.status--active{color:var(--brand-deep);background:var(--brand-light)}.status--goal_review{color:#664709;background:#fff0bd}.status--achieved,.status--completed{color:#075d55;background:#d9f3ef}.status--ended,.status--canceled{color:#4c596b;background:#e8edf3}.goal-actions{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-top:22px;padding:18px 20px}.goal-actions summary,.cycle-summary summary{color:var(--brand-deep);cursor:pointer;font-weight:var(--font-weight-medium)}.goal-actions .button-row{margin-top:16px}.cycle-summary{margin-bottom:22px}.cycle-summary>div{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.cycle-summary h3{color:var(--brand-dark);font-size:var(--font-size-small);margin:0}.cycle-summary p{overflow-wrap:anywhere;white-space:pre-wrap;margin:7px 0 0}.terminal-actions{box-shadow:none;border-color:#e5b6c0;margin-top:22px}.terminal-actions h2{color:var(--danger-dark);margin-top:0;font-size:1.05rem}.history-list{gap:12px;display:grid}.history-row{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:22px;text-decoration:none;display:grid}.history-row:hover{border-color:var(--brand)}.history-row h2{color:var(--brand-deep);overflow-wrap:anywhere;margin:9px 0 0;font-size:1rem;line-height:1.65}.history-row__meta{text-align:right;flex-direction:column;align-content:center}.timeline,.timeline-cycles{padding:0;list-style:none}.timeline-period{--timeline-rail-color:var(--line);--timeline-rail-width:2px;min-width:0;margin-bottom:10px;padding-left:34px;position:relative}.timeline-period[data-version-state=current]{--timeline-rail-color:var(--brand);--timeline-rail-width:3px}.timeline-period__rail{width:var(--timeline-rail-width);background:var(--timeline-rail-color);position:absolute;top:4px;bottom:0;left:8px}.timeline-period__content{min-width:0}.timeline-version h2{color:var(--brand-deep);overflow-wrap:anywhere;margin:0 0 6px;font-size:1.08rem;line-height:1.7}.timeline-event{--timeline-event-fill:var(--paper);--timeline-event-border:var(--line-strong);min-height:58px;margin-bottom:30px;padding:10px 0 10px 34px;position:relative}.timeline-event[data-version-state=current]{--timeline-event-fill:var(--brand);--timeline-event-border:var(--brand)}.timeline-event:last-child{margin-bottom:0}.timeline-event__marker{background:var(--timeline-event-fill);border:3px solid var(--timeline-event-border);border-radius:50%;width:18px;height:18px;position:absolute;top:14px;left:0}.timeline-event .eyebrow{margin-bottom:2px}.timeline-event__label{color:var(--brand-deep);font-weight:var(--font-weight-medium);margin:0}.timeline-event__meta{color:var(--muted);font-size:var(--font-size-small);flex-wrap:wrap;gap:4px 12px;margin:4px 0 0;display:flex}.timeline-cycles{margin:16px 0 0}.timeline-cycles li{margin-bottom:10px}.timeline-cycles a{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto auto minmax(0,1fr);gap:8px 14px;padding:16px;text-decoration:none;display:grid}.timeline-cycles a:hover{border-color:var(--brand)}.timeline-cycles strong,.timeline-cycles time{color:var(--muted);font-size:var(--font-size-small);font-weight:var(--font-weight-regular)}.timeline-cycles time{text-align:right}.timeline-cycles p{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:0}.load-sentinel{height:2px}.pagination-status{color:var(--muted);text-align:center;margin:22px auto 0}.pagination-status--error{width:min(520px,100%);color:var(--danger);background:var(--danger-soft);border:1px solid #f2bac4;border-radius:12px;padding:16px}.pagination-status--error p{margin:0 0 12px}.app-message{border:1px solid var(--line);text-align:center;background:#ffffffd1;border-radius:16px;width:min(560px,100% - 32px);margin:10vh auto;padding:28px}.app-message--error{color:var(--danger);background:var(--danger-soft);border-color:#f2bac4}.app-message button{min-height:44px;padding:8px 16px}.settings-message{color:var(--brand-dark);background:var(--brand-soft);border:1px solid var(--brand-light);border-radius:10px;padding:12px 14px}.settings-card{gap:18px;display:grid}.settings-field{gap:5px;display:grid}.settings-field>span{color:var(--muted);font-size:var(--font-size-small)}.settings-card code{overflow-wrap:anywhere}.settings-account-detail{overflow-wrap:anywhere;color:var(--ink)!important}.settings-hint{margin-top:8px;display:block}.google-identity{width:min(400px,100%);min-height:44px;overflow:hidden}.google-identity[data-disabled=true]{pointer-events:none;opacity:.65}.google-identity__button{width:100%;min-height:44px}.google-identity__button:empty{display:none}.danger-zone{box-shadow:none;border-color:#e5b6c0;margin-top:22px}.danger-zone h2{color:var(--danger-dark);margin-top:0;font-size:1.08rem}.confirmation-dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:0;box-shadow:0 28px 90px #082b694d}.confirmation-dialog::backdrop{background:#082b6980}.confirmation-dialog__content{padding:clamp(22px,5vw,32px)}.confirmation-dialog h2{color:var(--brand-deep);margin:0;font-size:1.2rem;line-height:1.5}.confirmation-dialog__description{color:var(--muted);margin-top:14px}.confirmation-dialog__description p{margin:8px 0 0}.confirmation-dialog__actions{justify-content:flex-end;margin-top:24px}@media (width<=640px){html{scroll-padding-top:76px}.app-header{height:64px;padding-inline:16px}.drawer-backdrop{inset-block-start:64px}.drawer{top:64px}.page{padding-top:30px}.history-row{grid-template-columns:1fr}.history-row__meta{text-align:left;flex-direction:row}.button-row>.button,.action-controls>.button{flex:100%}.editor-page{padding-bottom:164px}.frame-tabs{z-index:18;padding:9px 12px max(9px, env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);gap:6px;margin:0;position:fixed;bottom:0;left:0;right:0}.frame-tabs button{border-radius:10px;min-height:54px}.frame-tabs small{display:none}.timeline-cycles a{grid-template-columns:auto minmax(0,1fr)}.timeline-cycles time{text-align:left;grid-column:1/-1}.confirmation-dialog__actions>.button{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
