:root{--ink:#16313b;--paper:#f7f2e7;--surface:#fffdf8;--primary:#24807a;--accent:#d9b56a;--danger:#b84a44;--muted:#5d7079;--radius:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{color:var(--ink);background:var(--paper);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0;font-size:1.6rem}a{color:inherit}.stack{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:20px;box-shadow:4px 4px #16313b2e}.hint{color:var(--muted);margin:0;font-size:.85rem}.error{color:var(--danger);margin:0}.warn{color:#8a5e0e}.field{flex-direction:column;gap:6px;font-weight:600;display:flex}.field input{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:12px;padding:12px 14px}.field input:focus{outline:3px solid var(--primary);outline-offset:1px}.text-input{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:12px;min-width:0;padding:8px 12px}.text-input:focus{outline:3px solid var(--primary);outline-offset:1px}.choices{border:0;margin:0;padding:0}.row.choice-row{align-items:center}.button{font:inherit;border:2px solid var(--ink);cursor:pointer;background:var(--surface);color:var(--ink);border-radius:999px;padding:12px 18px;font-weight:700}.button.primary{background:var(--primary);color:#fff}.button.small{padding:6px 12px;font-size:.85rem}.button:disabled{opacity:.6;cursor:default}.login{text-align:center;flex-direction:column;gap:20px;max-width:420px;margin:12vh auto;padding:0 16px;display:flex}.login form{text-align:left}.topbar{border-bottom:2px solid var(--ink);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:10px 24px;display:flex}.brand{font-size:1.1rem;font-weight:800;text-decoration:none}.who{color:var(--muted);align-items:center;gap:12px;font-size:.9rem;display:flex}.frame{grid-template-columns:224px minmax(0,1fr);align-items:start;display:grid}.side{flex-direction:column;gap:12px;max-height:100vh;padding:14px 12px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.side-group{flex-direction:column;gap:1px;display:flex}.side-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 2px;padding:0 10px;font-size:.72rem;font-weight:700}.side a{border-radius:10px;padding:3px 10px;font-size:.95rem;font-weight:600;text-decoration:none}.side a:hover{background:#16313b14}.side a[aria-current=page]{background:var(--ink);color:#fff}@media (max-width:820px){.frame{grid-template-columns:minmax(0,1fr)}.side{border-bottom:2px solid #16313b26;flex-flow:wrap;gap:6px 18px;max-height:none;padding:10px 16px;position:static}.side-group{flex-flow:wrap;align-items:center}}.content{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:24px;display:flex}.nav-progress{z-index:60;background:linear-gradient(90deg, var(--primary) 0%, var(--accent) 50%, var(--primary) 100%);background-size:200% 100%;height:3px;animation:1s linear infinite nav-progress;position:fixed;top:0;left:0;right:0}@keyframes nav-progress{0%{background-position:200% 0}to{background-position:0 0}}.heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.table{border-collapse:separate;border-spacing:0;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #16313b26;padding:12px 16px}.table tr:last-child td{border-bottom:0}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.badge{border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;display:inline-block}.badge.published{background:var(--primary);color:#fff}.badge.draft{background:var(--accent)}.badge.archived{background:#ddd}.badge.resolved{background:var(--primary);color:#fff;margin-top:4px}.report-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.flag{align-items:center;gap:6px;display:inline-flex}.flag .box{border:2px solid var(--ink);background:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:.8rem;line-height:1;display:inline-grid}.flag[aria-pressed=true] .box{background:var(--primary);color:#fff}h2{margin:0;font-size:1.05rem}h3{margin:0}.notice{color:#1d6b66;margin:0;font-weight:600}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row.between{justify-content:space-between;align-items:center}.row.tight{flex-wrap:nowrap;gap:4px}.grow{flex:1;min-width:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field textarea,.field select{font:inherit;border:2px solid var(--ink);resize:vertical;background:#fff;border-radius:12px;padding:12px 14px}.field input[type=range]{border:0;padding:0}.field input:disabled,.field textarea:disabled,.field select:disabled{color:var(--muted);background:#efeade}.button.danger{background:var(--danger);color:#fff}.editor{flex-direction:column;gap:16px;display:flex}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.editor-grid{grid-template-columns:1fr}}.sticky{position:sticky;top:16px}.content:has(.editor){max-width:1400px}.stage-map{border:2px solid var(--ink);border-radius:var(--radius);height:460px;overflow:hidden}.stage-map.placing,.stage-map.placing canvas{cursor:crosshair}.stage-pin{border:2px solid var(--ink);background:var(--accent);width:34px;height:34px;color:var(--ink);cursor:grab;border-radius:50%;font-weight:800;box-shadow:2px 2px #16313b4d}.stage-pin.selected{background:var(--primary);color:#fff;width:40px;height:40px}.stage-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stage-list li{border:2px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:2px 6px;display:flex}.stage-list li.selected{border-color:var(--ink);background:#fff}.stage-row{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 4px;display:flex}.stage-number{background:var(--accent);border:2px solid var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:800;display:inline-flex}.icon{border:2px solid var(--ink);background:var(--surface);cursor:pointer;width:30px;height:30px;font:inherit;border-radius:8px}.icon:disabled{opacity:.35;cursor:default}.lang{border:2px solid var(--ink);border-radius:999px;display:inline-flex;overflow:hidden}.lang button{font:inherit;background:var(--surface);cursor:pointer;border:0;padding:4px 12px;font-size:.8rem;font-weight:700}.lang button.active{background:var(--ink);color:#fff}.checklist{color:var(--danger);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.checklist.soft{color:#8a5e0e}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.phone{border:3px solid var(--ink);background:var(--paper);border-radius:28px;flex-direction:column;gap:10px;width:300px;max-width:100%;margin:0 auto;padding:22px 16px;display:flex}.phone img{border:2px solid var(--ink);border-radius:12px;width:100%}.phone-kicker,.phone-step{color:var(--muted);margin:0;font-size:.75rem}.phone-text{white-space:pre-wrap;margin:0}.phone-option{border:2px solid var(--ink);background:var(--surface);border-radius:999px;padding:8px 14px;font-weight:600}.phone-button{text-align:center;border:2px solid var(--ink);background:var(--primary);color:#fff;border-radius:999px;align-self:stretch;padding:10px;font-weight:700}a.button{text-decoration:none;display:inline-block}.select{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:12px;padding:8px 12px}.text-toolbar .row{flex-wrap:wrap}.text-toolbar code{background:#fff;border-radius:4px;padding:0 4px}.field-media{border:2px solid var(--ink);border-radius:10px;max-width:220px}.notebook{border:2px solid var(--ink);background-color:#fff9ec;background-image:linear-gradient(90deg,#0000 21px,#f2b0aa 21px 22px,#0000 22px),repeating-linear-gradient(#0000 0 27px,#d6e6f2 27px 28px);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:12px;flex-direction:column;gap:10px;min-height:180px;padding:16px 14px 26px 30px;display:flex;position:relative}.notebook img{border:5px solid #fff;border-radius:2px;transform:rotate(-1deg);box-shadow:0 2px 6px #00000040}.notebook-caption{text-align:center;margin:0;font-size:.85rem;font-style:italic}.notebook-nav{color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.8rem;display:flex}.notebook-sound{border:2px solid var(--ink);cursor:pointer;font-weight:700;font:inherit;background:#f7b500;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:.85rem;display:inline-flex}.notebook-word{color:var(--primary);cursor:help;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.notebook-reveal{border:2px solid var(--ink);background:#fdf0c2;border-radius:10px;padding:8px 10px}.notebook-reveal summary{cursor:pointer;font-weight:700}.notebook-long{color:var(--danger);margin:0;font-size:.75rem}.impact-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.impact-tile{flex-direction:column;gap:6px;padding:14px;display:flex}.impact-tile strong{font-size:1.6rem}.impact-bar{background:var(--primary);border-radius:3px;min-width:2px;height:6px;margin-bottom:4px}.impact-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 20px;margin:0;padding:0;list-style:none;display:grid}.impact-list li{border-bottom:1px dashed var(--muted);justify-content:space-between;gap:12px;padding:4px 0;display:flex}[aria-invalid=true]{border-color:var(--danger)!important}[aria-invalid=true]:focus{outline-color:var(--danger)}[data-error]:after{content:attr(data-error);color:var(--danger);font-size:.85rem;font-weight:400;display:block}.field:has(:required,[aria-required=true])>span:first-child:after{content:" *";color:var(--danger)}.field[data-count]:before{content:attr(data-count);color:var(--muted);order:8;align-self:flex-end;font-size:.75rem;font-weight:400}.field[data-cut]:before{color:#8a5e0e;font-weight:600}.field[data-error]:after{order:9}.toasts{z-index:50;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:12px;margin:0;padding:10px 16px;font-weight:700;box-shadow:4px 4px #16313b2e}.push-preview{border:2px solid var(--ink);background:#fff;border-radius:14px;flex-direction:column;gap:2px;max-width:420px;padding:12px 14px;display:flex}.editor-bar{z-index:5;background:var(--paper);border-bottom:2px solid #16313b26;flex-direction:column;gap:8px;margin:-8px 0 0;padding:8px 0 10px;display:flex;position:sticky;top:0}.editor-bar p{margin:0}.editor .sticky{max-height:calc(100vh - 116px);padding-right:4px;top:104px;overflow-y:auto}.tool-icon{vertical-align:-3px}.today{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.today .card{padding:14px 18px}.today .card ul{margin:8px 0 0;padding-left:20px}.list-tools{align-items:center}.list-tools .field{max-width:360px}.list-tools input[type=search]{padding:8px 14px}.pager{justify-content:center;align-items:center;margin:0}.group-index{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:2px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600}.chip:disabled{opacity:.45;cursor:default}.group{scroll-margin-top:12px}.group-head{border:2px solid var(--ink);background:var(--surface);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.group-head:disabled{cursor:default}.group-head h2{font-size:1.05rem}.row>form.card{flex:100%}.summary{gap:4px}.edit-row{align-items:center;padding:12px 18px}.summary-row{flex-wrap:nowrap;align-items:center}.week-row{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;font-weight:600}.week-row .select{min-width:260px}.advanced summary{cursor:pointer;color:var(--muted);font-weight:600}.advanced .field{margin-top:10px}.table tr.muted td{color:#52646c;background:#f1ecdf}.table tr.muted strong{font-weight:600}.status-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}details>summary{cursor:pointer}button.badge{font:inherit;color:var(--ink);background:var(--surface);cursor:pointer;font-size:.8rem;font-weight:700}button.badge:disabled{opacity:.6;cursor:default}.point-map{border:2px solid var(--ink);border-radius:var(--radius);height:300px;overflow:hidden}.point-map.placing,.point-map.placing canvas{cursor:crosshair}.editor .sticky>*{flex-shrink:0}.top-search{flex:1;justify-content:center;display:flex}.top-search input{font:inherit;border:2px solid var(--ink);background:#fff;border-radius:999px;width:min(420px,100%);padding:7px 14px}.top-search input:focus{outline:3px solid var(--primary);outline-offset:1px}.found{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.found .card{flex-direction:column;gap:4px;padding:12px 16px;display:flex}.report-number{font-variant-numeric:tabular-nums}.table tr:target td{background:#fdf0c2}.table tr{scroll-margin-top:16px}.with-preview{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}@media (max-width:1100px){.with-preview{grid-template-columns:minmax(0,1fr)}}.preview{position:sticky;top:12px}.phone button.phone-option{font:inherit;text-align:left;cursor:pointer;color:var(--ink);font-weight:600}.phone button.phone-option:disabled{cursor:default}.phone-option.right{background:var(--primary);color:#fff}.phone-option.wrong{background:var(--danger);color:#fff}.phone-speaker{align-items:flex-end;gap:8px;display:flex}.phone-face{border:2px solid var(--ink);background:var(--accent);border-radius:50%;flex:none;width:44px;height:44px}.phone-bubble{border:2px solid var(--ink);background:var(--surface);border-radius:16px 16px 16px 4px;margin:0;padding:10px 14px}.cover-preview{aspect-ratio:16/9;object-fit:cover;border:2px solid var(--ink);border-radius:14px;width:min(320px,100%)}
