:root{--bg:#f7f7f2;--paper:#fffefa;--ink:#31483f;--muted:#687664;--green:#485e58;--line:#e3e7dc;--sage:#e8eddf;--peach:#f0dfc6;--lav:#c1bad6;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.85 var(--sans);letter-spacing:.025em}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a98b54;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:var(--serif);font-weight:500}h1{font-size:clamp(30px,3vw,42px);line-height:1.65;letter-spacing:.08em;margin-bottom:17px}h2{font-size:21px;line-height:1.6;margin-bottom:16px}h3{font-size:15px;font-weight:600;margin-bottom:12px}a{color:inherit;text-underline-offset:4px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:236px;border-right:1px solid var(--line);background:#edf0e7;padding:34px 23px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--serif);font-size:14px;line-height:1.7;letter-spacing:.05em}.brand strong{font-size:21px;font-weight:500}.brand svg{width:43px;flex:none}.side-caption{font-size:8px;letter-spacing:.18em;color:#8b9987;margin:18px 0 42px;padding-left:3px}.sidebar nav{display:grid;gap:8px}.nav-btn{display:flex;gap:13px;align-items:center;border:0;background:transparent;text-align:left;border-radius:6px;padding:13px 11px;color:#64755f;font-size:12px;white-space:nowrap}.nav-btn span{width:20px;font-size:21px;font-family:var(--serif);line-height:1.3;text-align:center}.nav-btn.active{background:#dce5d4;color:#344c3e}.nav-btn:hover{background:#e0e7d8}.side-bottom{margin-top:auto;padding-top:30px}.side-bottom p{font:15px/2 var(--serif);color:#83917e;letter-spacing:.07em;margin:0 0 27px}.clinic{font-size:10px;color:#61775d;line-height:1.8}.side-bottom a{font-size:9px;color:#7f8d7b;display:inline-block;margin-top:12px}main{margin-left:236px;min-height:100vh}.topbar{height:73px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f7f7f2ec}.desktop-label{font-size:11px;color:#899280}.status-chip{padding:7px 13px;font-size:10px;border:1px solid #d9e0d1;border-radius:30px;background:transparent;color:#6e8065;white-space:nowrap}.content{max-width:1240px;margin:auto;padding:32px 42px 0}.page-label{font-size:10px;letter-spacing:.15em;color:#89967e;display:flex;justify-content:space-between;margin-bottom:18px}.page-label span{letter-spacing:.03em;color:#7f8e77}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:28px}.welcome p{font-size:12px;color:#798573;line-height:2;margin-bottom:16px}.pill{display:inline-block;background:#e9eee0;color:#7d8c6d;font-size:9px;padding:5px 10px;border-radius:30px;letter-spacing:.03em}.welcome-art{width:235px;flex:none}.storage-banner{background:#eeece2;border:1px solid #e4e1d4;border-radius:7px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.storage-banner b{font-size:12px;font-weight:550}.storage-banner p{font-size:10px;color:#8b8a78;margin:3px 0 0;max-width:470px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px;padding:12px 22px;border:1px solid var(--green);background:var(--green);border-radius:5px;color:white;text-decoration:none;font-size:12px;transition:background .15s}.btn:hover{background:#5b746a}.btn.secondary{background:transparent;color:var(--green);border-color:#c2ccbb}.btn.secondary:hover{background:#eaf0e2}.btn.compact{padding:9px 15px;min-height:38px;font-size:10px;white-space:nowrap}.daily-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:25px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:27px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.panel-head h2{margin-bottom:0}.eyebrow{font-size:8px;letter-spacing:.16em;color:#788a67;margin-bottom:8px}.date-label input{font-size:11px;max-width:145px;min-height:38px;padding:7px 9px;background:var(--bg)}input,select,textarea{width:100%;border:1px solid #dbe2d3;border-radius:5px;background:#fbfcf8;color:var(--ink);padding:11px 12px;font-size:12px;min-height:44px}input[type=date]{min-width:0}select{padding-right:28px}textarea{resize:vertical;line-height:1.8}textarea::placeholder,input::placeholder{color:#7b8872;font-size:11px}.field-label{display:block;font-size:11px;color:#6e7d64;margin:0 0 9px}.field-block{border:0;border-top:1px solid var(--line);padding:22px 0 0;margin:25px 0 0;min-width:0}.field-block legend{font-size:13px;font-weight:500;padding:0 13px 0 0;display:flex;align-items:center;gap:9px}.section-no{color:#a1b096;font-size:11px;letter-spacing:.03em}.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.scale-btn{border:1px solid #dce3d4;border-radius:5px;background:#fbfcf8;color:#687f5b;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:61px;gap:2px;padding:8px 2px;font-size:9px;line-height:1.5;letter-spacing:0}.scale-btn span{font-size:20px;font-family:var(--serif);line-height:1.2;min-height:24px}.scale-btn[aria-pressed=true]{border-color:#7f9a73;background:#e5eedc;color:#3d5d34;box-shadow:inset 0 0 0 1px #93aa86}.scale-btn:hover{background:#edf2e7}.scale-group+.scale-group{margin-top:19px}.hint{font-size:10px;line-height:1.85;color:#75836c;margin:10px 0 0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.two-fields label{font-size:10px;color:#788870;min-width:0}.two-fields input,.two-fields select{display:block;margin-top:7px}.space-top{margin-top:20px}.activity-chips{display:flex;flex-wrap:wrap;gap:7px}.activity-chip{padding:7px 12px;background:#fbfcf8;color:#7e8e70;border:1px solid #dce4d2;border-radius:30px;font-size:10px;line-height:1.6}.activity-chip[aria-pressed=true]{background:#dce8d0;color:#47643a;border-color:#94aa83}.save-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px}.text-button{border:0;background:transparent;padding:0;color:#768e64;text-decoration:none;font-size:10px;line-height:1.8;cursor:pointer}.text-button:hover{text-decoration:underline}.form-status{min-height:19px;font-size:11px;color:#6d885c;margin:12px 0 0}.right-column{display:grid;gap:20px}.right-column .panel{padding:24px 22px}.soft-panel{background:#e9eddf;border-color:#e3e8d8}.soft-panel h2{font-size:23px;line-height:1.9;margin:14px 0}.soft-panel p{font-size:11px;color:#7e8c70;line-height:2}.soft-panel .mini{font-size:10px;margin:14px 0 0}.line-art{font-size:25px;color:#b6c1a3;font-family:var(--serif);text-align:center;margin:15px 0}.small{font-size:12px}.muted{color:var(--muted)}.mini-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:19px 0 10px}.mini-day{text-align:center;font-size:8px;color:#9ca68e}.mini-dot{display:block;width:20px;height:20px;border-radius:50%;border:1px solid #dce4d3;background:#f4f6ee;margin:0 auto 6px}.mini-dot.filled{background:#a8bf91;border-color:#a8bf91}.week-preview .small{font-size:10px;margin-bottom:10px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.page-heading p,.page-intro{font-size:12px;color:var(--muted)}.week-selector{display:flex;align-items:center;gap:10px;flex:none;margin-bottom:10px}.week-selector label span{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.week-selector input{font-size:11px;width:148px}.icon-btn{border:1px solid #d9e2ce;background:transparent;border-radius:50%;width:34px;height:34px;min-width:34px;display:grid;place-items:center;color:#7e916c;font-size:16px;padding:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:23px}.stat{background:#eeefe6;border:1px solid #e3e7d9;border-radius:8px;padding:22px}.stat-label{font-size:10px;color:#889578}.stat-value{font-family:var(--serif);font-size:28px;letter-spacing:.03em;margin:6px 0 1px}.stat-value small{font:11px var(--sans);margin-left:5px}.stat-note{font-size:9px;color:#929a87}.chart-key{font-size:9px;color:#88947e;display:flex;gap:6px;align-items:center;white-space:nowrap}.chart-key span{width:8px;height:8px;border-radius:2px;display:inline-block}.mood-dot{background:#a5bc91}.fatigue-dot{background:#c1bad6;margin-left:7px}.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;border-bottom:1px solid var(--line);padding:15px 0 10px;margin:18px 0}.chart-day{min-width:0}.chart-bars{height:110px;display:flex;justify-content:center;align-items:flex-end;gap:6px;border-bottom:1px solid #e2e7d9;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 26px,#edf0e6 27px,#edf0e6 28px)}.bar{width:18px;max-width:27%;min-height:3px;border-radius:3px 3px 0 0;background:#a5bc91}.bar.fatigue{background:#c1bad6}.chart-values{font-size:8px;text-align:center;color:#8a967f;height:18px;margin-top:4px}.chart-date{text-align:center;font-size:9px;color:#8a967f}.chart-empty{align-self:center;color:#c9d2bc;font-size:15px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;line-height:1.8}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top}th{color:#687f5b;font-weight:500;font-size:10px}td:first-child{white-space:nowrap}td:nth-child(2){white-space:nowrap}td:last-child{min-width:135px}.goals-panel{max-width:710px;margin-top:30px}.goal-label{display:flex;gap:16px;align-items:center;margin:20px 0}.goal-label span{font:20px var(--serif);color:#acbb99}.goals-panel input[type=date]{max-width:200px}.goals-panel .btn{margin-top:24px}.gentle-note{display:flex;gap:18px;align-items:flex-start;background:#e9eddf;padding:26px;border-radius:8px;max-width:710px;margin-top:24px}.gentle-note>span{font-size:32px;color:#9caf86;line-height:1.5}.gentle-note b{font-family:var(--serif);font-weight:500}.gentle-note p{font-size:11px;color:#89967b;margin:5px 0 0}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:29px}.guide-list{padding-left:20px;font-size:12px}.guide-list li{padding-left:7px;margin-bottom:22px}.guide-list p{font-size:11px;color:#87957a;margin-top:6px}.data-actions{display:grid;gap:11px;margin:20px 0}.data-actions .text-button{justify-self:start;margin-top:6px}.danger{color:#aa6a59}.text-link{font-size:11px;color:#758a65}.file-button{cursor:pointer}.app-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0;margin-top:40px;color:#a0aa92;font-size:9px}.mobile-brand,.mobile-nav{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-80px;left:10px;background:white;padding:10px;z-index:90}.skip:focus{top:10px}dialog{border:1px solid var(--line);border-radius:10px;padding:0;width:min(650px,calc(100% - 30px));max-height:85dvh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #1e302340}dialog::backdrop{background:#253b3280;backdrop-filter:blur(3px)}.dialog-inner{padding:30px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{margin:0}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}#report-text{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.9 var(--sans);background:#f0f3e9;padding:20px;border-radius:4px;max-height:49vh;overflow:auto}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#344b41;color:#f9fbf2;padding:12px 20px;font-size:12px;border-radius:7px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:85%;text-align:center}.toast.show{opacity:1}[hidden]{display:none!important}
@media(min-width:1500px){.content{padding-top:42px}.welcome-art{width:270px}.welcome{padding-bottom:35px}}
@media(max-width:1150px){.sidebar{width:205px;padding:29px 18px}.brand{gap:8px;font-size:12px}.brand strong{font-size:19px}.brand svg{width:36px}.nav-btn{font-size:11px;padding:12px 8px;gap:9px}main{margin-left:205px}.topbar{padding:0 27px}.content{padding:28px 27px 0}.daily-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}.right-column .panel{padding:22px 17px}.welcome-art{width:190px}.panel{padding:22px}.scale-btn{font-size:8px}.storage-banner{padding:14px 16px;gap:15px}.page-heading{display:block}.week-selector{margin-top:20px}.side-bottom p{font-size:13px}}
@media(max-width:850px){.sidebar{width:187px;padding:25px 14px}main{margin-left:187px}.brand{gap:7px;font-size:11px}.brand strong{font-size:17px}.brand svg{width:33px}.nav-btn{font-size:10px;gap:7px}.content{padding:25px 23px 0}.daily-layout{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.right-column .soft-panel{display:none}.welcome-art{width:165px}.welcome h1{font-size:30px}.welcome p{font-size:11px}.storage-banner{display:block}.storage-banner .btn{margin-top:12px}.guide-grid{grid-template-columns:1fr}.stat-grid{gap:10px}.stat{padding:18px 14px}.stat-value{font-size:25px}.chart-bars{gap:4px}.week-chart{gap:6px}.topbar{padding:0 23px}.desktop-label{font-size:9px}.status-chip{font-size:9px;padding:6px 10px}}
@media(max-width:600px){.sidebar{display:none}main{margin-left:0}.topbar{height:63px;padding:0 18px;position:sticky;top:0;z-index:30;background:#f7f7f2f5;backdrop-filter:blur(8px)}.mobile-brand{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.07em}.desktop-label{display:none}.status-chip{font-size:8px;max-width:190px}.content{padding:24px 18px 0}.page-label{font-size:8px;margin-bottom:17px}.page-label span{font-size:9px}.welcome{position:relative;padding-bottom:22px;align-items:flex-end;gap:5px}.welcome h1{font-size:clamp(26px,7.4vw,34px);white-space:nowrap;letter-spacing:.05em;line-height:1.7;margin-bottom:14px}.welcome p{font-size:11px;line-height:2;margin-bottom:12px}.welcome-art{position:absolute;width:120px;right:-8px;bottom:38px;opacity:.44;z-index:-1}.welcome>div{z-index:1}.pill{font-size:8px;background:#e9eee0d9;padding:5px 8px}.storage-banner{padding:14px 16px;margin-bottom:18px}.storage-banner b{font-size:11px}.storage-banner p{font-size:9px;line-height:1.9}.storage-banner .btn{font-size:10px;min-height:39px;margin-top:10px}.panel{padding:21px 18px;border-radius:7px}.panel-head{gap:10px}.panel-head h2{font-size:21px}.date-label input{width:137px;font-size:10px}.eyebrow{font-size:7px}.field-label{font-size:11px}input,select,textarea{font-size:16px;min-height:46px;padding:10px}select{font-size:12px}textarea{font-size:13px}.two-fields input[type=time],.two-fields input[type=number]{font-size:14px}.two-fields select{font-size:10px;padding:10px 5px}.two-fields label{font-size:9px}.two-fields{gap:10px}.field-block{margin-top:25px;padding-top:17px}.field-block legend{font-size:12px}.scale{gap:5px}.scale-btn{min-height:62px;font-size:8px;padding:7px 1px}.scale-btn span{font-size:22px}.activity-chip{font-size:10px;padding:8px 11px}.hint{font-size:9px}.save-row{display:block}.save-row .btn{width:100%;min-height:48px;font-size:12px}.save-row .text-button{display:block;margin:15px auto 0;font-size:10px}.right-column{gap:12px}.right-column .panel{padding:19px 15px}.right-column h3{font-size:12px}.right-column .eyebrow{font-size:7px}.mini-week{gap:3px;margin-top:15px}.mini-dot{width:15px;height:15px}.mini-day{font-size:7px}.right-column .small{font-size:10px}.text-button{font-size:10px}.app-footer{font-size:8px;display:block;padding:20px 0 105px;margin-top:28px}.app-footer span{display:block;margin:3px 0}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:#fcfcf7f5;border-top:1px solid var(--line);padding:9px 10px max(10px,env(safe-area-inset-bottom));z-index:40;backdrop-filter:blur(10px)}.mobile-nav button{background:transparent;border:0;font-size:9px;line-height:1.8;color:#a0aa95;display:flex;flex-direction:column;align-items:center;padding:3px 5px;border-radius:5px;min-height:45px}.mobile-nav button span{font-size:22px;font-family:var(--serif);line-height:1.2}.mobile-nav button.active{color:#4c6840;background:#ecf1e5}.page-heading h1,#view-goals h1,#view-guide h1{font-size:29px;letter-spacing:.05em;line-height:1.6}.page-heading p,.page-intro{font-size:11px}.week-selector{justify-content:center;width:100%;gap:16px;margin-top:18px}.week-selector input{width:158px;font-size:12px}.week-selector .icon-btn{width:36px;height:36px}.stat-grid{gap:8px;margin-bottom:17px}.stat{padding:16px 12px}.stat-label{font-size:8px}.stat-value{font-size:23px}.stat-value small{font-size:9px}.stat-note{font-size:8px}.chart-key{font-size:8px;gap:4px}.week-chart{gap:6px}.chart-bars{height:100px;gap:4px}.chart-date{font-size:8px}.chart-values{font-size:7px}.small{font-size:11px}.table-scroll table{font-size:10px;min-width:390px}.table-scroll th{font-size:9px}.table-scroll td{padding:10px 7px}#view-week .panel-head{align-items:flex-start;flex-wrap:wrap}.goal-label{gap:10px}.goal-label input{font-size:12px}.goals-panel .btn{width:100%}.gentle-note{padding:20px;gap:12px}.gentle-note b{font-size:13px}.gentle-note p{font-size:10px}.guide-grid{gap:16px;margin-top:23px}.guide-grid .panel h2{font-size:21px}.guide-list{font-size:11px}.guide-list p{font-size:10px}.dialog-inner{padding:24px 20px}.dialog-actions{display:grid;gap:10px}.dialog-actions .btn{width:100%;font-size:11px}#report-text{font-size:10px;padding:15px}.toast{bottom:90px;font-size:11px;min-width:230px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}body>aside,body>main,body>nav,body>.toast,body>.skip{display:none!important}dialog{display:none!important}body.print-report #report-dialog{display:block!important;position:static;border:0;margin:0;padding:0;max-height:none;width:100%;box-shadow:none}#report-dialog .close-dialog,#report-dialog .dialog-actions,#report-dialog .form-status{display:none!important}#report-text{max-height:none;overflow:visible;background:white;padding:0;font-size:9px;line-height:1.65}.dialog-inner{padding:10px}#report-dialog .hint{font-size:8px}#report-dialog h2{font-size:18px}@page{size:A4;margin:15mm}}

.stage-panel{background:#eef2e7;border:1px solid #d9e3cd;border-radius:7px;padding:21px;margin-top:22px}.stage-panel h3{font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:7px}.stage-title{font-size:12px;color:#526e46;margin-bottom:7px;font-weight:600}.stage-description{font-size:11px;color:#6a7b5c;line-height:1.9;margin-bottom:15px}.stage-checks{display:grid;gap:0}.stage-check-row{display:grid;grid-template-columns:minmax(0,1fr) 166px;align-items:center;gap:13px;padding:13px 0;border-top:1px solid #dce4d1}.stage-check-row>span{font-size:11px;line-height:1.8;color:#526447}.stage-check-row select{background:#fffefa;font-size:10px;min-height:41px;padding:8px 9px}.stage-check-row select[data-status=possible]{border-color:#92aa7f;background:#e5eedb}.stage-check-row select[data-status=burden]{border-color:#bf9e70;background:#f5ecdb}.stage-check-row select[data-status=difficult]{border-color:#aba3bc;background:#eeebf3}.stage-foot{border-top:1px solid #dce4d1;padding-top:14px;margin:4px 0 0;font-size:9px;line-height:1.9;color:#728366}.stage-week-panel{margin-top:22px}.stage-week-panel .hint{margin-bottom:18px}.stage-week-day{border-top:1px solid var(--line);padding:15px 0}.stage-week-day summary{font-size:12px;color:#5c7350;cursor:pointer}.stage-week-day ul{font-size:11px;color:#6f7f62;padding-left:20px;margin:13px 0 0}.stage-week-day li{margin:6px 0}@media(max-width:1050px){.stage-check-row{grid-template-columns:1fr;gap:8px}.stage-check-row select{width:100%;max-width:230px;font-size:11px}}@media(max-width:600px){.stage-panel{padding:19px 15px}.stage-panel h3{font-size:19px}.stage-title{font-size:11px}.stage-description{font-size:10px}.stage-check-row{gap:8px;padding:14px 0}.stage-check-row>span{font-size:11px}.stage-check-row select{max-width:none;min-height:44px;font-size:12px}.stage-foot{font-size:9px}.stage-week-day summary{font-size:11px}.stage-week-day ul{font-size:10px}}

.custom-hurdle{border-top:1px solid #dce4d1;margin-top:7px;padding:16px 0 11px}.custom-hurdle summary{font-size:11px;cursor:pointer;color:#5e774f}.custom-hurdle textarea,.custom-hurdle select{background:#fffefa}.custom-hurdle .field-label{font-size:11px}.custom-hurdle>select{max-width:235px}.custom-hurdle .space-top{margin-top:14px}@media(max-width:600px){.custom-hurdle summary{font-size:11px}.custom-hurdle>select{max-width:none}}
