:root{--bg:#f5f4ef;--surface:#fff;--ink:#202d29;--muted:#5b6962;--green:#235a43;--light:#e8eee7;--border:#cdd5cc;--error:#a33328;--radius:12px;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans)}header,main{max-width:1200px;margin:auto;padding:24px 32px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:24px}.brand{font:700 32px/1 Georgia,serif;letter-spacing:-1px;color:var(--ink);text-decoration:none}.public,.muted,footer{font-size:14px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:8px 0 24px}h1{font:normal 32px/1.2 Georgia,serif;margin:0 0 4px}.toolbar p{margin:0}h2{font-size:18px;line-height:1.3;margin:0}button,input,select{font:inherit}button{min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--green);color:white;font-weight:600;cursor:pointer}button:hover{filter:brightness(.92)}button:disabled,select:disabled{opacity:.55;cursor:wait}button.text{background:transparent;color:var(--green)}input,select{display:block;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink)}label{display:block;font-weight:600;margin:16px 0 8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b26821;outline-offset:3px}.weekbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.weekbar>div{width:min(100%,350px)}.weekbar p{margin:0;white-space:nowrap}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.column{background:var(--light);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-height:240px}.column h2{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.column h2 span{font:14px var(--sans);color:var(--muted);background:var(--surface);border-radius:6px;min-width:24px;padding:4px;text-align:center}.cards{display:grid;gap:12px}.card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0}.card[data-draggable]{cursor:grab}.card[data-draggable]:active{cursor:grabbing}.card:focus-visible{outline:3px solid #b26821;outline-offset:3px}.card[data-draggable]{touch-action:none;-webkit-touch-callout:none;user-select:none}.card h3{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}.column-empty{font-size:14px;color:var(--muted);text-align:center;margin:36px 0}.drop-target{outline:2px solid var(--green);outline-offset:2px}.dragging{opacity:.35}.is-dragging{user-select:none;cursor:grabbing}.drag-ghost{position:fixed;z-index:20;pointer-events:none;opacity:.9;box-shadow:0 8px 24px #202d2933;max-width:280px}.drop-marker{height:4px;background:var(--green);border-radius:4px;pointer-events:none}.empty{padding:24px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted)}.board-help{font-size:12px;color:var(--muted);max-width:800px;margin:16px 0 24px}details{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}summary{cursor:pointer;min-height:44px;font-size:14px;color:var(--muted)}summary span{margin-left:8px}.event{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}.event strong{display:block;overflow-wrap:anywhere}.event time{font-size:12px;color:var(--muted)}#archived-cards{grid-template-columns:repeat(3,minmax(0,1fr))}footer{font-size:12px;margin-top:24px;padding-top:16px}dialog{border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:min(480px,calc(100% - 32px));color:var(--ink)}dialog::backdrop{background:rgb(20 35 27 / .4)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}form>button{margin-top:24px}.form-error,#notice{color:var(--error)}#notice:not(:empty){border:1px solid var(--error);border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:14px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:white;padding:16px;z-index:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:700px){header,main{padding:20px 16px}header{gap:16px}.public{font-size:12px;max-width:175px}.toolbar{gap:16px;margin-top:0}h1{font-size:28px}.toolbar .muted{font-size:12px}.weekbar{flex-wrap:wrap;gap:8px}.weekbar>div{width:100%}.board{grid-template-columns:1fr;gap:16px}.column{min-height:120px}.column-empty{margin:12px 0}#archived-cards{grid-template-columns:1fr}.event{align-items:flex-start}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}.column{transition:outline-color .15s}}

.view-nav{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}.view-nav button{background:transparent;color:var(--muted);border:1px solid var(--border)}.view-nav button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.scope-note{font-size:14px;color:var(--muted);max-width:760px;margin:12px 0 24px}.template-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}.template-row h3{font-size:16px;margin:0;overflow-wrap:anywhere}.template-row p{margin:4px 0 0}.template-actions,.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.template-actions{flex-shrink:0}.editor-actions{margin-top:24px}.checkbox{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400}.checkbox input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:0;accent-color:var(--green)}#week-caption{white-space:normal}.card[tabindex]{cursor:pointer}.card[data-draggable]{cursor:grab}@media(max-width:700px){.template-row{flex-direction:column;align-items:stretch;gap:12px}.template-actions{justify-content:flex-end}.view-nav{gap:4px}.view-nav button{padding:8px 12px}.weekbar p{white-space:normal}}
