:root{--bg:#f6f7f9;--paper:#fff;--ink:#26352f;--muted:#6b756f;--line:#e3e8e4;--accent:#496858;--purple:#62567e;font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-synthesis:none;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.4}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #7c78ad;outline-offset:3px}svg{width:18px;height:18px;flex:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;padding:12px;background:white;z-index:20}.skip-link:focus{top:12px}.app-shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:white;border-right:1px solid var(--line);padding:30px 16px 0}.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:800;letter-spacing:-1px;padding:0 12px;margin-bottom:36px}.brand-mark{display:grid;grid-template-columns:repeat(3,6px);gap:3px}.brand-mark i{width:6px;height:6px;background:#a9b8ae;border-radius:1px}.brand-mark i:nth-child(5){background:#496858}.new-button{min-height:44px;border:1px solid #cdd8d1;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:650;background:#fcfdfc}.new-button span{font-size:23px;font-weight:400}.new-button:hover{background:#edf3ef}.nav-label{margin:31px 12px 12px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.nav-label span{color:#869188}#documents{max-height:calc(100vh - 330px);overflow:auto}.document-button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;min-height:46px;text-align:left;border-radius:7px;line-height:1.5;font-size:13px;overflow-wrap:anywhere}.document-button svg{width:15px;color:#74877a}.document-button.selected{background:#eaf1ec;color:#3d5c49;font-weight:650}.document-button:hover{background:#f0f4f1}.template-button{display:flex;align-items:center;gap:10px;text-align:left;min-height:44px;padding:12px;margin-top:20px;font-size:12px;color:var(--muted)}.template-button span{font-size:20px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:7px;padding:22px 4px;font-size:10px;color:#7e887f;border-top:1px solid var(--line)}.storage-dot{width:5px;height:5px;border-radius:50%;background:#7e9a85}.preview-tag{margin-left:auto;font-size:10px;background:#f1f3f2;border-radius:4px;padding:3px 6px}.topbar{height:64px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;color:#6f7b73;min-width:0}.breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px;color:#394b40}.slash{color:#c5cdc7}.top-actions{display:flex;align-items:center;gap:16px;flex:none}.save-status{font-size:11px;color:#728178;white-space:nowrap}.save-status:before{content:"";display:inline-block;height:5px;width:5px;background:#72947c;border-radius:50%;margin-right:7px;vertical-align:middle}.save-status.error{color:#a03939}.save-status.error:before{background:#a03939}.text-button{min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:12px;border-radius:6px;color:#586b5d}.text-button:hover{background:#eaf0ec}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:7px;font-size:23px;color:#758177;flex:none}.icon-button:hover{background:#eef2ef}.icon-button svg{width:16px;height:16px}.mobile-documents,.mobile-only{display:none}.page-content{max-width:1240px;margin:0 auto;padding:30px 32px 26px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.title-group{min-width:0}.document-label{font-size:11px;color:#728277}.title-line{display:flex;gap:5px;align-items:center;margin-top:5px}h1{font-size:27px;line-height:1.5;letter-spacing:-1px;margin:0;font-weight:750;overflow-wrap:anywhere}.date-button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#65786a;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:white;white-space:nowrap}.date-button svg{width:16px}.page-navigation{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:20px}.page-tabs{display:flex;gap:23px}.page-tabs button{min-height:47px;position:relative;padding:0 2px;font-size:14px;color:#79837d;display:flex;align-items:center;gap:7px}.page-tabs button.active{color:#334f3f;font-weight:700}.page-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#496858}.page-tabs button span{font-size:11px;background:#e9eeeb;border-radius:5px;padding:2px 6px;color:#5c7566}.steps{display:flex;align-items:center;gap:13px;margin:0 0 24px}.steps button{display:flex;align-items:center;gap:8px;min-height:40px;font-size:12px;color:#7b867e;padding:0 3px}.step-number{width:23px;height:23px;display:grid;place-items:center;background:#e9edea;border-radius:50%;font-size:10px;color:#79887d}.steps button.active{color:#35533f;font-weight:700}.steps button.active .step-number{background:#456850;color:white}.step-check{color:#548663}.step-count{font-size:10px;background:#edf0ed;border-radius:4px;padding:2px 5px}.step-count:empty{display:none}.step-divider{color:#b7c1ba}.work-area{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:26px;align-items:start}.board-column{min-width:0}.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:42px;margin-bottom:13px}.board-trail{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.board-trail strong{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-trail button{min-height:44px;font-size:12px;color:#667c6c;padding:6px 2px;white-space:nowrap}.board-trail .trail-arrow{font-size:14px;color:#a4b0a7}.view-switch{display:flex;border:1px solid #e1e6e2;background:#e9eeea;padding:3px;border-radius:8px;gap:2px;flex:none}.view-switch button{min-height:34px;padding:5px 10px;font-size:11px;border-radius:5px;color:#6a796f;white-space:nowrap}.view-switch button.active{background:white;color:#344d3d;font-weight:600;box-shadow:0 1px 3px #243b2e0b}.board-wrap{padding:10px;border:1px solid #dfe5e0;background:white;border-radius:14px;box-shadow:0 3px 12px #253d2903}.mandala-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;aspect-ratio:1}.mini-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:3px;min-width:0;min-height:0;border-radius:7px}.focus-board{grid-column:1/-1;grid-row:1/-1;gap:8px}.cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;text-align:left;padding:17px;min-width:0;min-height:0;overflow:hidden;border-radius:9px;background:var(--light,#f2f5f3);border:1px solid transparent;transition:background .12s,border-color .12s}.cell:hover{border-color:var(--color,#6a8073);background:var(--tint,#e9eeeb)}.cell-title{font-size:17px;line-height:1.55;font-weight:650;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--color,#354e3c);max-width:100%}.cell-meta{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--color,#5c7665);margin-top:12px;font-weight:400}.cell-meta .cell-arrow{margin-left:4px}.cell.goal{background:#62577e;border-color:#62577e;align-items:center;text-align:center;padding:17px;color:white}.cell.goal:hover{background:#554b70}.cell.goal .cell-title{font-size:20px;color:white;line-height:1.6;-webkit-line-clamp:4}.cell-kicker{font-size:10px;color:#e7e2f0;margin-bottom:9px;font-weight:400}.cell.area-center{background:var(--tint);text-align:center;align-items:center}.cell.area-center .cell-kicker{color:var(--color)}.cell.area-center .cell-title{font-size:20px}.cell.empty{background:#fafbfa;border:1px dashed #dfe6df;color:#7f8b81;align-items:center;text-align:center}.cell.empty:hover{border-color:#8ba291;background:#f1f6f2}.cell.empty .cell-title{font-size:13px;font-weight:500;color:#7f8b81}.plus-symbol{font-size:24px;font-weight:300;line-height:1;margin-bottom:11px;color:#96a49a}.cell.done .cell-title{color:#68806e}.done-mark{font-size:12px;position:absolute;bottom:12px;right:13px;color:#5f8068}.cell.action-cell .cell-title{font-size:16px;font-weight:500;color:#3f5446}.cell .week-symbol{position:absolute;top:10px;right:12px;font-size:11px;color:var(--color,#55745f)}.all-board{gap:8px}.all-board .cell{padding:4px;align-items:center;text-align:center;border-radius:4px}.all-board .cell-title{font-size:10px;font-weight:450;line-height:1.5;-webkit-line-clamp:3;color:#4e6054}.all-board .cell.goal .cell-title{font-size:11px;color:white;font-weight:650;-webkit-line-clamp:4}.all-board .cell.area-center{background:var(--tint)}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title{font-size:11px;font-weight:700;color:var(--color)}.all-board .central-board .cell.goal .cell-title{color:white}.all-board .cell-meta,.all-board .cell-kicker,.all-board .week-symbol{display:none}.all-board .plus-symbol{font-size:16px;margin:0}.all-board .cell.empty .cell-title{display:none}.all-board .cell.empty{border:0;background:var(--light,#f5f7f5)}.all-board .done-mark{bottom:1px;right:3px;font-size:8px}.all-board .mini-board.selected{outline:2px solid var(--color);outline-offset:2px}.board-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;font-size:11px;color:#79867d;padding:0 2px}.board-bottom .text-button{font-size:12px}.detail-panel{margin-top:55px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-header{padding:22px 21px 18px;border-bottom:1px solid var(--line)}.panel-eyebrow{font-size:10px;color:#718375;display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.panel-heading h2{font-size:19px;margin:0;line-height:1.5;letter-spacing:-.5px;overflow-wrap:anywhere}.panel-heading .icon-button{width:34px;height:34px}.panel-count{font-size:11px;color:#7c8e7f}.progress-summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#667d6c;margin-top:16px}.progress-track{height:4px;background:#edf2ee;margin-top:9px;overflow:hidden;border-radius:3px}.progress-track span{display:block;height:100%;background:var(--color,#709379);border-radius:3px}.panel-list{padding:9px 11px 12px}.area-row{display:flex;align-items:center;gap:11px;padding:10px;min-height:57px;border-radius:6px;width:100%;text-align:left}.area-row:hover{background:#f3f6f3}.area-icon{width:30px;height:30px;border-radius:7px;background:var(--light);display:grid;place-items:center;color:var(--color);font-size:12px;flex:none}.area-text{flex:1;min-width:0}.area-text strong{font-size:12px;display:block;font-weight:550;overflow-wrap:anywhere;line-height:1.5}.area-text small{font-size:10px;color:#7a897d;display:block;margin-top:3px}.area-row .chevron{font-size:18px;color:#94a097}.area-row.empty .area-text strong{color:#7b8a7f;font-weight:400}.action-row{display:flex;align-items:center;gap:6px;min-height:54px;border-bottom:1px solid #eef1ee}.action-row:last-child{border-bottom:0}.check-button{min-width:40px;width:40px;height:44px;display:grid;place-items:center;flex:none;padding:0;border-radius:6px}.check-shape{width:19px;height:19px;border:1.5px solid #c7d2ca;border-radius:6px;font-size:12px;display:grid;place-items:center;color:white}.check-button[aria-pressed=true] .check-shape{background:#60866a;border-color:#60866a}.check-button:hover{background:#eef4ef}.action-edit{flex:1;text-align:left;padding:8px 0;min-height:44px;line-height:1.65;font-size:12px;min-width:0;overflow-wrap:anywhere}.action-row.completed .action-edit{color:#819487;text-decoration:line-through}.star-button{width:36px;min-height:44px;border-radius:6px;padding:0;color:#93a096;display:grid;place-items:center;flex:none}.star-button svg{width:16px;height:16px}.star-button[aria-pressed=true]{color:#9b7c32}.star-button[aria-pressed=true] svg{fill:#e9d492}.star-button:hover{background:#f5f2e9}.add-action{min-height:48px;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;width:100%;color:#627a69;padding:10px 13px}.add-action span:first-child{font-size:20px}.panel-footer{padding:12px 20px 18px;border-top:1px solid #eef1ee;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#849086}.panel-footer .text-button{font-size:11px;padding:4px 0;min-height:36px}.compact-note{padding:0 20px 18px;font-size:12px;color:#67786c;line-height:1.7}.compact-note summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:6px}.compact-note p{margin:0;padding:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.week-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 20px}.week-heading h2{font-size:22px;margin:0;letter-spacing:-.7px}.week-heading>span{font-size:12px;color:#738177}.weekly-item{display:flex;align-items:center;gap:9px;padding:17px 16px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.weekly-text{flex:1;text-align:left;min-height:44px;min-width:0}.weekly-text strong{display:block;font-size:15px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}.weekly-text small{display:block;font-size:11px;color:#6f8775;margin-top:5px}.weekly-item.finished strong{text-decoration:line-through;color:#87998b}.week-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;background:white;border:1px dashed #cbd7ce;border-radius:12px;padding:55px 20px;gap:20px}.week-empty>span{font-size:32px;color:#b4bfaf}.week-empty p{font-size:14px;margin:0;color:#667c6d}.welcome{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:70vh;gap:16px}.welcome-grid{display:grid;grid-template-columns:repeat(3,40px);gap:5px;margin-bottom:14px}.welcome-grid i{height:40px;background:#e7eee8;border-radius:6px;font-style:normal}.welcome-grid i:nth-child(5){background:#655a7f;color:white;font-size:25px;display:grid;place-items:center}.welcome h1{font-size:25px;margin-bottom:10px}.primary-button,.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:7px;font-size:13px;font-weight:600}.primary-button{background:#466851;color:white}.primary-button:hover{background:#36533f}.secondary-button{border:1px solid #dce4de;background:white;color:#66776b}.secondary-button:hover{background:#f3f6f3}dialog{border:1px solid #dfe6e0;border-radius:16px;padding:26px;width:min(460px,calc(100vw - 28px));color:var(--ink);box-shadow:0 24px 90px #213a3026;max-height:calc(100dvh - 30px);overflow:auto}dialog::backdrop{background:#293a324d;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#728579;margin:-7px -8px 5px 0}dialog h2{font-size:24px;letter-spacing:-.8px;margin:9px 0 22px}dialog input:not([type=checkbox]),dialog textarea{display:block;width:100%;border:1px solid #cad7ce;background:#fcfdfc;border-radius:8px;padding:13px 14px;font-size:15px;line-height:1.7;color:var(--ink)}dialog input::placeholder,dialog textarea::placeholder{color:#91a096}dialog input:focus,dialog textarea:focus{outline:2px solid #7d9f88;outline-offset:1px}dialog textarea{resize:vertical}.optional-fields{margin-top:19px}.optional-fields summary{font-size:12px;min-height:40px;cursor:pointer;color:#5a7463;padding:8px 0}.optional-fields summary span{color:#8c9a90;font-size:10px;margin-left:5px}.template-label{font-size:11px;color:#7b8d80;margin:23px 0 10px}.template-options{display:flex;gap:7px;flex-wrap:wrap}.template-choice{min-height:40px;border:1px solid #dce5df;border-radius:7px;padding:8px 13px;font-size:12px}.template-choice.active{background:#ecf3ee;border-color:#8ba896;color:#42634e;font-weight:600}.template-preview{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0 0}.template-preview span{font-size:10px;background:#f1f4f1;color:#6f8275;padding:5px 8px;border-radius:4px}.dialog-checks{display:flex;gap:24px;margin-top:16px}.dialog-checks label{min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px;color:#55715f}.dialog-checks input{width:17px;height:17px;accent-color:#537d60}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:24px}.clear-button{min-height:44px;padding:9px 0;color:#936353;font-size:12px;margin-right:auto}.form-error{font-size:12px;line-height:1.6;color:#a13f3f;margin:10px 0 0}.form-error:empty{display:none}.export-option{display:grid;grid-template-columns:1fr auto;width:100%;text-align:left;gap:6px;padding:18px 14px;border:1px solid var(--line);border-radius:9px;margin-bottom:10px}.export-option:hover{background:#f4f8f4}.export-option>span:first-child{font-size:14px;font-weight:650}.export-option small{grid-column:1;font-size:11px;color:#829086}.export-option>span:last-child{grid-column:2;grid-row:1/3;align-self:center;font-size:22px;color:#748c7b}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;background:#314d3c;color:white;display:flex;align-items:center;gap:20px;border-radius:9px;padding:7px 16px;min-height:44px;font-size:12px;max-width:calc(100vw - 30px);box-shadow:0 6px 30px #21382a26}.toast button{color:#dbe9cf;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;min-height:36px}.toast span{line-height:1.6}.print-only{display:none}
@media(min-width:1600px){.page-content{padding-left:44px;padding-right:44px}.work-area{grid-template-columns:minmax(0,1fr) 310px;gap:32px}.cell-title{font-size:19px}.all-board .cell-title{font-size:12px}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title{font-size:12px}}
@media(max-width:1150px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand{font-size:20px;padding-left:7px}.page-content{padding:24px}.topbar{padding:0 24px}.work-area{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.cell{padding:10px}.cell-title{font-size:14px}.cell.goal .cell-title,.cell.area-center .cell-title{font-size:17px}.cell.action-cell .cell-title{font-size:14px}.cell-meta{font-size:9px;margin-top:8px}.all-board .cell-title{font-size:9px}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title{font-size:9px}.all-board .cell.goal .cell-title{font-size:10px}.panel-header{padding:18px 16px}.panel-heading h2{font-size:17px}.panel-list{padding-left:7px;padding-right:7px}.action-edit{font-size:12px}.save-status{display:none}.board-trail strong{max-width:120px}.view-switch button{padding:5px 8px;font-size:10px}.cell.empty .cell-title{font-size:11px}.all-board{gap:6px}.all-board .mini-board{gap:2px}}
@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-documents{display:flex;gap:8px;align-items:center;font-size:11px;color:#7a887e;min-width:0}.mobile-documents select{max-width:250px;min-height:44px;border:0;background:transparent;color:#415746;font-size:12px;min-width:0;text-overflow:ellipsis}.breadcrumb{display:none}.mobile-only{display:inline-flex}.work-area{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.page-content{padding:24px}.cell-title{font-size:16px}.cell.goal .cell-title,.cell.area-center .cell-title{font-size:18px}.top-actions{gap:8px}.board-trail strong{max-width:110px}}
@media(max-width:720px){.work-area{grid-template-columns:1fr;gap:14px}.page-content{max-width:630px;padding:23px 20px}.detail-panel{margin-top:0}.panel-list{padding:10px 12px}.area-list{display:grid;grid-template-columns:1fr 1fr}.area-row{padding:10px 8px}.cell-title{font-size:18px}.cell{padding:17px}.cell.goal .cell-title,.cell.area-center .cell-title{font-size:20px}.cell.action-cell .cell-title{font-size:16px}.cell.empty .cell-title{font-size:13px}.cell-meta{font-size:11px}.all-board .cell-title{font-size:10px}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title{font-size:10px}.panel-heading .icon-button{width:44px;height:44px}.action-edit{font-size:14px}.action-row{min-height:54px}.check-button{min-width:44px;width:44px}.star-button{width:44px}.panel-heading h2{font-size:20px}.panel-header{padding:20px}.area-text strong{font-size:13px}.area-text small{font-size:11px}.panel-count{font-size:12px}.board-trail strong{max-width:none}.board-wrap{padding:8px}.topbar{padding:0 20px}.panel-footer{font-size:11px}}
@media(max-width:480px){.topbar{height:57px;padding:0 14px;gap:5px}.mobile-documents{gap:4px}.mobile-documents>select{max-width:145px;font-size:11px}.mobile-documents{font-size:0}.top-actions{gap:0}.top-actions .text-button{font-size:11px;padding:7px}.top-actions .text-button svg{width:15px}.page-content{padding:22px 16px}.page-heading{gap:8px;margin-bottom:17px;align-items:flex-start}.document-label{font-size:10px}h1{font-size:23px;letter-spacing:-.8px}.title-line{margin-top:6px;gap:0}.title-line .icon-button{width:34px;height:44px}.date-button{font-size:10px;padding:7px;gap:4px;margin-top:18px;min-height:38px}.date-button svg{width:13px}.page-tabs{gap:21px}.page-tabs button{font-size:13px}.page-navigation>.text-button{font-size:11px;padding-right:0}.steps{gap:8px;margin-bottom:15px}.steps button{font-size:11px;gap:6px}.step-number{width:20px;height:20px;font-size:9px}.step-count{font-size:9px;padding:2px 4px}.step-divider{font-size:12px}.board-toolbar{gap:4px;margin-bottom:9px}.board-trail strong{font-size:12px;max-width:130px}.board-trail{gap:5px}.board-trail button{font-size:11px}.view-switch button{font-size:10px;padding:5px 8px}.board-wrap{border-radius:11px;padding:6px}.focus-board{gap:5px}.cell{padding:10px;border-radius:6px}.cell-title{font-size:13px;line-height:1.6}.cell.goal .cell-title,.cell.area-center .cell-title{font-size:14px;line-height:1.55}.cell-kicker{font-size:8px;margin-bottom:6px}.cell-meta{font-size:9px;margin-top:7px}.cell.action-cell .cell-title{font-size:12px}.cell.empty .cell-title{font-size:10px}.plus-symbol{font-size:22px;margin-bottom:7px}.cell .week-symbol{top:5px;right:6px}.done-mark{bottom:7px;right:8px;font-size:10px}.all-board{gap:4px}.all-board .mini-board{gap:2px}.all-board .cell{padding:2px;border-radius:3px}.all-board .cell-title{font-size:7px;line-height:1.5;word-break:normal;letter-spacing:-.3px}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title,.all-board .cell.goal .cell-title{font-size:8px}.all-board .mini-board.selected{outline-width:1.5px;outline-offset:1px}.all-board .cell.empty .plus-symbol{font-size:12px}.board-bottom{font-size:10px}.board-bottom .text-button{font-size:11px}.panel-header{padding:18px}.area-list{grid-template-columns:1fr}.area-text strong{font-size:14px}.area-row{min-height:57px}.area-text{display:flex;align-items:center;justify-content:space-between;gap:8px}.area-text small{white-space:nowrap;margin:0;font-size:10px}.area-icon{width:28px;height:28px}.week-heading h2{font-size:20px}.week-heading>span{font-size:11px}.weekly-item{padding:14px 8px;gap:4px}.weekly-text strong{font-size:14px}.weekly-text small{font-size:10px}dialog{padding:23px;border-radius:13px}dialog input:not([type=checkbox]),dialog textarea{font-size:16px}.template-choice{font-size:11px;padding:8px 10px}.template-options{gap:5px}.dialog-actions .primary-button,.dialog-actions .secondary-button{padding:10px 16px}.toast{min-width:max-content;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,.page-navigation,.steps,.board-toolbar,.board-bottom,.detail-panel,.date-button,.title-line button,dialog,.toast{display:none!important}.app-shell,.work-area{display:block}.page-content{max-width:none;padding:0}.board-wrap{border:0;padding:0;box-shadow:none;width:180mm}.mandala-board{width:180mm}.cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}.all-board .cell-title{font-size:9px}.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title{font-size:10px}.all-board .cell.goal .cell-title{font-size:11px}.page-heading{margin-bottom:15mm}.print-only{display:block;break-before:page}.print-only h2{font-size:17px;margin:20px 0 10px}.print-only p{font-size:11px;line-height:1.7}.print-only section{break-inside:avoid}}

.cell.goal{padding:10px}.cell.goal .cell-meta{display:none}.cell.goal .cell-title{line-height:1.45}.cell.goal .cell-kicker{margin-bottom:5px}
/* Keep the complete planning board within a normal desktop viewport. */
@media(min-width:951px){.page-content{max-width:1020px;padding-top:24px}.page-heading{margin-bottom:16px}.page-navigation{margin-bottom:16px}.steps{margin-bottom:14px}}
@media(min-width:1600px){.page-content{max-width:1140px}.work-area{grid-template-columns:minmax(0,1fr) 292px;gap:26px}}

.mini-board{position:relative}.overview-target{position:absolute;inset:0;width:100%;height:100%;border-radius:7px;z-index:2}.overview-target:hover{box-shadow:inset 0 0 0 2px var(--color,#62577e)}

/* Readable content keeps its size; the layout changes instead. */
.reference-info{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;color:#596b60;font-size:12px;line-height:1.6}
.reference-info p{margin:0}.reference-info a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;padding:10px 0}
.template-preview{display:block;padding-top:12px}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.reference-area,.reference-goal{display:flex;align-items:center;justify-content:center;min-height:74px;padding:12px 8px;border-radius:6px;text-align:center;font-size:15px;font-weight:600;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.reference-area{background:var(--light);color:var(--color);border:2px solid transparent}
.reference-area.selected{border-color:var(--color);background:var(--tint)}
.reference-goal{background:#62577e;color:#fff}
.reference-actions{margin-top:12px;padding:15px 18px;background:var(--light);border-radius:8px;border-left:3px solid var(--color)}
.reference-actions h3{font-size:15px;margin:0 0 8px;color:var(--color)}
.reference-actions ul{padding-left:20px;margin:0;font-size:16px;line-height:1.8}
.reference-actions li{overflow-wrap:anywhere}
@media screen{
  .work-area.single-column{grid-template-columns:minmax(0,1fr)}
  .board-wrap{overflow:auto;max-width:100%;overscroll-behavior-x:contain}
  .board-wrap:focus-visible{outline:3px solid #7c78ad;outline-offset:3px}
  .board-hint{font-size:13px;color:#596b60;margin:0 0 10px}
  .mandala-board:not(.all-board):not(.list-board){display:block;aspect-ratio:auto}
  .focus-board{grid-template-rows:repeat(3,minmax(130px,auto));gap:7px}
  .cell{overflow:visible;padding:14px;min-height:120px}
  .cell-title,.cell.goal .cell-title{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
  .cell-title,.cell.action-cell .cell-title{font-size:17px;line-height:1.65}
  .cell.goal .cell-title,.cell.area-center .cell-title{font-size:19px;line-height:1.6}
  .cell-kicker{font-size:12px}.cell-meta{font-size:12px;margin-top:10px}
  .cell.empty .cell-title{font-size:15px;color:#5e7164}
  .cell.action-cell{padding-top:24px;padding-bottom:24px}
  .all-board{min-width:1080px;aspect-ratio:auto;grid-template-rows:repeat(3,minmax(348px,auto));gap:12px}
  .all-board .mini-board{gap:4px;grid-template-rows:repeat(3,minmax(112px,auto))}
  .all-board .cell{padding:10px 7px;min-height:112px}
  .all-board .cell-title,.all-board .cell.area-center .cell-title,.all-board .central-board .cell-title,.all-board .cell.goal .cell-title{font-size:14px;line-height:1.65;letter-spacing:0;word-break:keep-all}
  .all-board .cell.goal .cell-title{font-size:16px}
  .all-board .cell.empty .plus-symbol{font-size:20px}
  .all-board .done-mark{font-size:12px;right:5px;bottom:4px}
  .list-board{display:block;aspect-ratio:auto}
  .list-board>.cell.goal{width:100%;align-items:flex-start;text-align:left;padding:22px 24px;min-height:105px;margin-bottom:6px}
  .list-board>.cell.goal .cell-title{font-size:22px}
  .reading-panel .panel-header{padding:20px 18px 16px}
  .reading-panel .panel-heading h2{font-size:22px}
  .reading-panel .area-list{display:block}
  .reading-panel .area-row{min-height:72px;padding:12px}
  .area-text strong,.action-edit,.weekly-text strong{font-size:16px;line-height:1.65}
  .area-text small,.weekly-text small,.panel-eyebrow,.progress-summary,.panel-count{font-size:12px}
  .area-text small,.panel-eyebrow,.panel-count{color:#5c7163}
  .action-row{min-height:64px}
  .check-button,.star-button{width:44px;min-width:44px;min-height:44px}
  .add-action{font-size:15px;min-height:52px}
  .panel-footer{font-size:12px;color:#596b60}
  .panel-footer .text-button{font-size:13px;min-height:44px}
  .view-switch button{font-size:13px;min-height:38px;padding:6px 12px}
  .board-trail strong,.board-trail button{font-size:14px;max-width:none;white-space:normal;overflow:visible;overflow-wrap:anywhere}
  .board-toolbar{flex-wrap:wrap;row-gap:8px}
  .board-trail{flex:1;min-width:90px}
  .board-bottom{font-size:12px}
  #createDialog{width:min(580px,calc(100vw - 28px))}
  .template-choice{font-size:14px;min-height:44px;padding:9px 12px}
  .template-label,.optional-fields summary{font-size:13px;color:#5b7062}
  dialog input:not([type=checkbox]),dialog textarea{font-size:16px}
  #editTitle{min-height:120px;resize:vertical}
  #createGoal{resize:vertical;min-height:80px}
  .dialog-actions{position:sticky;bottom:-26px;background:white;padding:16px 0;margin-top:8px;z-index:2}
}
@media screen and (max-width:1150px){
  .work-area{grid-template-columns:minmax(0,1fr);gap:16px}
  .detail-panel{margin-top:0}
  .page-content{max-width:850px}
}
@media screen and (max-width:600px){
  .page-content{padding:20px 14px}
  .page-heading{flex-wrap:wrap;gap:8px;margin-bottom:14px}
  .title-group{width:100%}.title-line{align-items:flex-start}
  .date-button{margin-top:0;font-size:13px;min-height:44px}
  .document-label{font-size:12px}.page-tabs button{font-size:15px}
  .mobile-documents>select{font-size:14px;max-width:180px}
  .top-actions .text-button{font-size:12px}
  .page-navigation>.text-button{font-size:13px}
  .steps{gap:7px;justify-content:space-between;margin-bottom:16px}
  .steps button{font-size:13px;gap:5px}
  .step-number{font-size:11px;width:22px;height:22px}.step-count{font-size:11px}
  .view-switch button{padding:6px 11px}
  .board-trail strong{max-width:none}
  .focus-board{grid-template-rows:repeat(3,minmax(124px,auto));gap:5px}
  .focus-board .cell{padding:12px 8px;min-height:124px}
  .focus-board .cell-title,.focus-board .cell.action-cell .cell-title,.focus-board .cell.goal .cell-title,.focus-board .cell.area-center .cell-title{font-size:16px;line-height:1.6}
  .focus-board .cell.action-cell{padding-top:24px;padding-bottom:24px}
  .focus-board .cell-meta{font-size:11px}.focus-board .cell-kicker{font-size:11px}
  .list-board>.cell.goal{padding:20px;min-height:112px}
  .list-board>.cell.goal .cell-title{font-size:21px}
  .reading-panel .panel-header{padding:18px 12px 12px}
  .reading-panel .panel-list{padding:4px}
  .reading-panel .area-row{padding:12px 8px}
  .area-text{display:block}.area-text small{margin-top:3px;font-size:12px;white-space:normal}
  .area-text strong{font-size:16px}.area-icon{width:32px;height:32px;font-size:13px}
  .board-bottom .text-button{font-size:13px}
  .weekly-text strong{font-size:16px}.weekly-text small{font-size:12px}
  dialog{padding:20px;max-height:calc(100dvh - 24px)}
  .dialog-actions{bottom:-20px;gap:8px}
  .dialog-actions .primary-button,.dialog-actions .secondary-button{font-size:14px;padding:10px 14px}
  .reference-area,.reference-goal{font-size:14px;padding:10px 5px;min-height:76px}
  .reference-info{align-items:flex-start}.reference-info a{padding-top:0}
  .reference-actions{padding:14px}.reference-actions ul{font-size:16px}
  .template-choice{font-size:13px;padding:8px 10px}
  .toast{min-width:0;width:max-content;font-size:13px}
}
@media screen and (max-width:360px){.step-count,.step-check{display:none}.steps{gap:4px}.mobile-documents>select{max-width:145px}.board-trail{min-width:75px}.view-switch button{padding:6px 8px}.steps button{font-size:12px}.reference-area,.reference-goal{font-size:13px}}

.reference-source{display:inline-block;margin-left:10px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}

@media screen{.all-board .cell.action-cell .cell-title{font-size:14px}.cell.done .cell-title{color:#49614f}}
