:root{--bg: #111318;--panel: #191c24;--panel-2: #21252f;--elev: #272c38;--inset: #14161c;--line: #2b2f3b;--line-soft: #232733;--text: #ece9e1;--text-dim: #9b988e;--faint: #716f67;--amber: #d9a441;--amber-bright: #ecc06a;--amber-soft: rgba(217, 164, 65, .13);--red: #e05e5e;--green: #7fae7a;--shadow-1: 0 1px 2px rgba(0, 0, 0, .22), 0 2px 10px rgba(0, 0, 0, .16);--shadow-2: 0 6px 18px rgba(0, 0, 0, .35), 0 16px 48px rgba(0, 0, 0, .3);--glow: radial-gradient(1100px 380px at 18% -8%, rgba(217, 164, 65, .055), transparent 62%);--radius-s: 6px;--radius: 9px;--radius-l: 14px;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}[data-theme=light]{--bg: #f2f0e9;--panel: #faf9f4;--panel-2: #ffffff;--elev: #ffffff;--inset: #f4f2ec;--line: #d7d4c7;--line-soft: #e3e1d6;--text: #26262b;--text-dim: #6e6c62;--faint: #9a978c;--amber: #a9781b;--amber-bright: #8a6212;--amber-soft: rgba(169, 120, 27, .1);--red: #bf3f3f;--green: #4d7a49;--shadow-1: 0 1px 2px rgba(60, 55, 40, .08), 0 2px 8px rgba(60, 55, 40, .06);--shadow-2: 0 6px 18px rgba(60, 55, 40, .14), 0 16px 48px rgba(60, 55, 40, .1);--glow: radial-gradient(1100px 380px at 18% -8%, rgba(169, 120, 27, .04), transparent 62%);color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}#root{height:100%;display:flex;flex-direction:column}body{background:var(--glow),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--amber)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:padding-box;border:3px solid transparent}input[type=search],input[type=text],input[type=password],input[type=datetime-local],input[type=date],input[type=time],select,textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:7px 10px;color:var(--text);min-height:34px;transition:border-color .15s ease}input:hover,select:hover,textarea:hover{border-color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--amber);outline:none}::placeholder{color:var(--faint)}.btn{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:6px 13px;min-height:34px;color:var(--text);transition:border-color .15s ease,background .15s ease,transform .06s ease}.btn:hover{border-color:var(--amber)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--line)}.btn-primary{background:var(--amber);border-color:var(--amber);color:#211a06;font-weight:600}.btn-primary:hover{background:var(--amber-bright);border-color:var(--amber-bright)}.btn-danger{color:var(--red)}.btn-ghost{background:none;border:none;color:var(--text-dim);min-width:32px;min-height:32px;padding:4px 8px;border-radius:var(--radius-s);transition:background .15s ease,color .15s ease}.btn-ghost:hover{color:var(--amber);background:var(--amber-soft)}.btn-ghost.active{color:var(--amber)}.filter-reset{font-size:17px;line-height:1}.filter-reset:hover{color:var(--red);background:none}.filter-reset-count{font-family:var(--font-mono);font-size:10px;color:var(--amber);vertical-align:super;margin-left:1px}.topbar{display:flex;align-items:center;gap:16px;row-gap:8px;flex-wrap:wrap;padding:14px 20px 0}.topbar-right{margin-left:auto;display:flex;gap:4px;align-items:center;min-width:0}.global-search{position:relative;display:inline-flex;min-width:0}.global-search input{width:250px;max-width:100%}.search-pop{top:calc(100% + 8px);right:0;left:auto;min-width:360px;max-width:min(440px,92vw);max-height:62vh;overflow-y:auto}.search-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.sr-path{font-family:var(--font-mono);font-size:10.5px;color:var(--faint)}.sr-title{font-size:13.5px}.sr-title.done{text-decoration:line-through;color:var(--text-dim)}mark{background:var(--amber-soft);color:var(--amber);border-radius:2px;padding:0 1px}.gear-wrap{position:relative;display:inline-flex}.gear-menu{top:36px;right:0;left:auto;min-width:180px}.board-title{font-family:var(--font-display);font-size:25px;font-weight:600;letter-spacing:.01em;margin:0;display:flex;align-items:baseline;gap:10px;min-width:0}.board-title .count{font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim);white-space:nowrap}.title-wrap{position:relative;display:inline-flex;min-width:0}.title-btn{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;padding:0;display:inline-flex;align-items:baseline;gap:8px;min-width:0;border-radius:var(--radius-s)}.title-caret{font-size:13px;color:var(--faint);transition:color .15s ease}.title-btn:hover .title-caret{color:var(--amber)}.title-menu{top:calc(100% + 8px);left:-6px;right:auto;font-family:var(--font-ui);font-size:13.5px;font-weight:400;min-width:220px;max-height:60vh;overflow-y:auto}.col-menu button.current{color:var(--amber);font-weight:600}.col-menu .menu-input{margin:3px;width:calc(100% - 6px);font-size:13.5px}.col-menu button.armed,.btn.armed{background:var(--red);border-color:var(--red);color:#fff}.col-rename-input{flex:1;min-width:0;min-height:28px;padding:3px 8px;font-size:13px;text-transform:none;letter-spacing:normal}.add-column-input{min-width:220px;align-self:flex-start;padding:10px;background:var(--inset);border:1px solid var(--amber);border-radius:12px}.first-board-form{display:flex;gap:8px;justify-content:center;margin-top:14px}.first-board-form input{width:220px}.amber-rule{height:2px;border:0;margin:7px 20px 12px;background:linear-gradient(90deg,var(--amber-bright),var(--amber) 28%,rgba(217,164,65,.28) 62%,transparent 96%)}.toolbar{display:flex;gap:8px;align-items:center;padding:0 20px 14px}.tb-sep{width:1px;align-self:stretch;margin:5px 2px;background:var(--line)}.tb-tags{flex:1;min-width:0;display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:2px 0}.tb-tags::-webkit-scrollbar{display:none}.tb-actions{display:flex;gap:2px;align-items:center;flex:none}.spacer{flex:1}.board{flex:1;min-height:0;display:flex;gap:14px;align-items:flex-start;overflow-x:auto;overflow-y:hidden;padding:4px 20px 16px}.column{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;min-width:296px;width:296px;max-height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:border-color .15s ease}.column.drop-over{border-color:var(--amber)}.column-head{position:relative;display:flex;align-items:center;gap:8px;padding:11px 14px 8px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}.column-head .n{font-family:var(--font-mono);color:var(--amber)}.column-body{overflow-y:auto;padding:2px 10px 8px;display:flex;flex-direction:column;gap:8px;min-height:48px}.column-add{margin:0 10px 10px;padding:7px;border:1px dashed var(--line);border-radius:var(--radius);background:none;color:var(--faint);font-size:13px;transition:color .15s ease,border-color .15s ease}.column-add:hover{color:var(--amber);border-color:var(--amber)}.column-add-input{width:100%;background:var(--inset);border:1px solid var(--amber);border-radius:var(--radius-s);padding:7px 9px;color:var(--text)}.add-column{min-width:180px;align-self:flex-start;padding:11px;background:none;border:1px dashed var(--line);border-radius:12px;color:var(--faint);transition:color .15s ease,border-color .15s ease}.add-column:hover{color:var(--amber);border-color:var(--amber)}.col-menu-btn{padding:0 6px;font-size:15px;line-height:1;min-height:24px;min-width:24px}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.col-menu{position:absolute;top:30px;right:8px;z-index:31;background:var(--elev);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;min-width:190px;padding:5px;box-shadow:var(--shadow-2);text-transform:none;letter-spacing:normal;font-size:13px}.col-menu button{background:none;border:none;text-align:left;padding:8px 10px;border-radius:var(--radius-s);color:var(--text)}.col-menu button:hover{background:var(--amber-soft);color:var(--amber)}.col-menu button.danger{color:var(--red)}.col-menu button:disabled{color:var(--faint);cursor:default}.col-menu button:disabled:hover{background:none;color:var(--faint)}.star-wrap{position:relative;display:inline-flex}.star-menu{top:34px;left:auto;right:0}.filter-wrap{position:relative;display:inline-flex}.funnel{position:relative;display:inline-flex;align-items:center}.funnel.active{color:var(--amber)}.funnel-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:999px;background:var(--amber)}.filter-sheet{top:34px;left:0;right:auto;min-width:300px;padding:10px}.sheet-label{font-family:var(--font-mono);font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;padding:6px 4px}.sheet-opts{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 8px}.filter-sheet .chip{border:1px solid var(--line);border-radius:999px;text-align:center}.filter-sheet .chip.on{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.sheet-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line-soft);margin-top:4px;padding-top:10px}.star-row{display:flex;align-items:stretch}.star-row button:first-child{flex:1}.star-del{flex:0 0 auto}.star-hint{padding:8px 10px;font-size:12.5px}.card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;cursor:grab;position:relative;box-shadow:var(--shadow-1);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.card:hover{border-color:var(--amber);transform:translateY(-1px)}.card.dragging{opacity:.35}.card.selected{border-color:var(--amber);background:var(--amber-soft)}.select-box{position:absolute;top:8px;right:8px;width:17px;height:17px;border:1px solid var(--line);border-radius:5px;background:var(--panel);font-size:11px;line-height:15px;text-align:center;color:var(--amber)}.select-box.on{border-color:var(--amber)}.card .card-title{padding-right:18px}.card.overlay{box-shadow:var(--shadow-2);cursor:grabbing;transform:rotate(1.2deg)}.card.done{opacity:.62}.card.done .card-title{color:var(--text-dim);text-decoration:line-through;text-decoration-thickness:1px}.card-title{margin:0 0 7px;font-size:13.5px;font-weight:500;line-height:1.35;word-break:break-word}.card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.card-meta:empty{display:none}.stamp{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);border:1px solid var(--line);border-radius:4px;padding:1px 5px;white-space:nowrap}.stamp.due:before{content:"[";color:var(--faint)}.stamp.due:after{content:"]";color:var(--faint)}.stamp.overdue{color:var(--red);border-color:var(--red);font-weight:600}.stamp.bell{color:var(--amber);border-color:transparent;background:var(--amber-soft)}.stamp.recur{color:var(--text-dim);border-color:transparent;background:var(--panel-2)}.stamp.check{color:var(--text-dim)}.stamp.check.all-done{color:var(--green);border-color:var(--green)}.prio{font-family:var(--font-mono);font-weight:700;margin-right:6px;letter-spacing:1px}.prio.p1{color:var(--text-dim)}.prio.p2{color:var(--amber)}.prio.p3{color:var(--red)}.chip{font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--amber-soft);color:var(--amber);border:1px solid transparent;white-space:nowrap;line-height:1.4}.board-chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10.5px;line-height:1.5;padding:1px 7px 1px 6px;border-radius:var(--radius-s);background:none;color:var(--text-dim);border:1px solid var(--line);white-space:nowrap}.board-chip .bd{width:6px;height:6px;border-radius:999px;display:inline-block;margin-right:5px;flex:none}.chip.selectable{cursor:pointer;background:var(--panel-2);color:var(--text-dim);border-color:var(--line);transition:border-color .15s ease,color .15s ease,background .15s ease}.chip.selectable:hover{border-color:var(--amber);color:var(--amber)}.chip.selectable.on{background:var(--amber-soft);color:var(--amber);border-color:var(--amber)}.tag-dot{width:7px;height:7px;border-radius:999px;display:inline-block;margin-right:5px}.chip.color-edit{cursor:pointer;position:relative}.chip.color-edit input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;min-height:0}.card-meta .comments{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.bulk-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--amber);box-shadow:0 -8px 24px #00000047}.bulk-bar .bulk-count{font-family:var(--font-mono);font-size:13px;color:var(--amber)}.bulk-bar select{width:auto}.archive-page{width:100%;max-width:880px;margin:0 auto;padding:14px 16px 40px;flex:1;overflow-y:auto}.archive-page .toolbar{padding:0 0 12px}.archive-title{font-family:var(--font-display);font-size:19px}.archive-section{margin-top:20px}.archive-section h2{font-family:var(--font-display);font-size:17px;margin:0 0 10px;border-bottom:1px solid var(--line);padding-bottom:7px}.archive-section .muted-h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:20px 0 6px;font-weight:500}.archive-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.archive-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.archive-task-title{cursor:pointer;word-break:break-word}a.archive-task-title:hover{color:var(--amber)}.history-row{font-size:12.5px;padding:4px 0;border-top:1px solid var(--line-soft)}.history-row .who{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-right:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#090a0e8c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:flex-start;padding:6vh 16px;z-index:50}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-l);width:660px;max-width:100%;max-height:88vh;overflow-y:auto;padding:20px 24px 0;box-shadow:var(--shadow-2)}.modal input[type=text].modal-title-input{display:block;width:100%;font-family:var(--font-display);font-size:21px;font-weight:600;background:none;border:none;border-bottom:1px solid transparent;border-radius:0;padding:2px 0 4px;margin-bottom:4px;min-height:0}.modal input[type=text].modal-title-input:hover{border-bottom-color:var(--line)}.modal input[type=text].modal-title-input:focus{border-bottom-color:var(--amber);outline:none}.modal .path{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-bottom:14px}.modal section{margin:16px 0}.modal section>label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.modal textarea,.modal input[type=text],.modal input[type=datetime-local],.modal select{width:100%;background:var(--inset)}.modal input[type=datetime-local]{width:auto}.modal textarea{min-height:90px;resize:vertical}.modal .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.modal .row input[type=text]{flex:1;min-width:140px;width:auto}.modal .desc-view{cursor:text;border:1px dashed transparent;border-radius:var(--radius-s);padding:4px 6px}.modal .desc-view:hover{border-color:var(--line)}.modal .desc-view p{margin:0 0 8px}.modal .actions{position:sticky;bottom:0;z-index:1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:var(--panel);border-top:1px solid var(--line-soft);margin:18px -24px 0;padding:13px 24px calc(13px + env(safe-area-inset-bottom))}.modal .actions{gap:6px}.modal .actions select{width:auto;max-width:180px}.modal .actions .btn{padding:6px 9px}.modal .actions .spacer{flex:1}.comment{border-top:1px solid var(--line-soft);padding:8px 0}.comment .who{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.comment p{margin:4px 0 0;white-space:pre-wrap}.reminder-row{display:flex;gap:8px;align-items:center;padding:4px 0 8px;flex-wrap:wrap}.reminder-row .reminder-text{font-size:13px}.check-row{display:flex;gap:8px;align-items:center;padding:3px 0}.check-row input[type=checkbox]{flex:none;accent-color:var(--amber);width:15px;height:15px}.check-text{flex:1;font-size:13.5px;cursor:text;word-break:break-word}.check-text.done{color:var(--text-dim);text-decoration:line-through;text-decoration-thickness:1px}.check-edit{flex:1}.check-del{flex:none;opacity:0;transition:opacity .15s ease}.check-row:hover .check-del{opacity:1}@media (hover: none){.check-del{opacity:.6}}.cal-page{flex:1;min-height:0;overflow-y:auto;padding:10px 16px 24px;display:flex;flex-direction:column;gap:0}.cal-title{font-family:var(--font-display);font-size:20px;margin:0 4px;white-space:nowrap}.cal-nav{display:inline-flex;align-items:center;gap:2px}.cal-nav .btn-ghost{font-size:15px}.board-title .btn{font-family:var(--font-ui);font-size:13px;white-space:nowrap}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-head{margin-bottom:4px}.cal-dow{font-family:var(--font-mono);font-size:11px;color:var(--faint);text-transform:uppercase;text-align:right;padding:2px 6px}.cal-cell{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-s);min-height:86px;padding:4px;cursor:pointer;display:flex;flex-direction:column;gap:3px;overflow:hidden;transition:border-color .15s ease}.cal-cell:hover{border-color:var(--line)}.cal-cell.other{opacity:.45}.cal-cell.selected{border-color:var(--amber)}.cal-cell.today .cal-daynum{background:var(--amber);color:var(--bg);border-radius:4px;font-weight:700}.cal-daynum{font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);align-self:flex-end;padding:1px 5px}.cal-chips{display:flex;flex-direction:column;gap:2px;min-height:0}.cal-chip{font-size:11px;line-height:1.35;text-align:left;padding:1px 5px;border:0;border-radius:4px;background:var(--panel-2);color:var(--text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip:hover{background:var(--elev);color:var(--amber)}.cal-chip.done{color:var(--text-dim);text-decoration:line-through}.cal-chip.overdue{box-shadow:inset 2px 0 0 var(--red)}.cal-chip .prio{margin-right:4px;font-size:10px}.cal-more{font-size:10.5px;color:var(--faint);padding-left:5px}.cal-dots{display:none}.day-sheet h4:first-letter{text-transform:uppercase}.day-sheet .day-rows{display:flex;flex-direction:column;gap:7px}.day-sheet .day-row{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius-s);padding:9px 11px;color:var(--text);transition:border-color .15s ease}.day-sheet .day-row:hover{border-color:var(--amber)}.day-sheet .day-row.overdue{box-shadow:inset 3px 0 0 var(--red)}.day-sheet .day-row.plan,.day-sheet .day-row.event{background:var(--panel);border-style:dashed}.day-sheet .d-mark{flex:none;width:17px;text-align:center;font-size:12px;color:var(--faint);font-family:var(--font-mono);margin-top:1px}.day-sheet .day-row.event .d-mark{color:var(--amber)}.day-sheet .day-row.rem .d-mark{color:var(--green)}.day-sheet .d-body{flex:1;min-width:0}.day-sheet .d-ttl{display:block;font-size:13.5px;line-height:1.35;word-break:break-word}.day-sheet .d-ttl .prio{margin-left:6px}.day-sheet .day-row.done .d-ttl{color:var(--text-dim);text-decoration:line-through}.day-sheet .day-row.plan .d-ttl,.day-sheet .day-row.event .d-ttl{color:var(--text-dim)}.day-sheet .d-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.day-sheet .d-time{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.day-sheet .d-time.over{color:var(--red);font-weight:600}.day-sheet .day-add{width:100%;margin-top:12px;background:none;color:var(--text-dim);border:1px dashed var(--line);border-radius:var(--radius-s);padding:9px;font-size:12.5px}.day-sheet .day-add:hover{border-color:var(--amber);color:var(--amber)}@media (max-width: 700px){.cal-page{padding:8px 10px 20px}.cal-cell{min-height:52px;padding:3px}.cal-chips,.cal-more{display:none}.cal-dots{display:flex;gap:3px;flex-wrap:wrap;padding:2px}.cal-dot{width:7px;height:7px;border-radius:999px;background:var(--text-dim)}.cal-dot.p1{background:var(--text-dim)}.cal-dot.p2{background:var(--amber)}.cal-dot.p3{background:var(--red)}.cal-dot.done{opacity:.35}.cal-dot-more{font-size:10px;color:var(--faint);line-height:1}.cal-title{font-size:15px}.board-title .btn{padding:4px 8px}}.cal-filters{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 10px}.cal-filters .chip{font-size:12px;padding:3px 11px}.cal-type:before{content:"";display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:6px;background:var(--text-dim);vertical-align:1px}.cal-type.event:before{background:var(--amber)}.cal-type.rem:before{background:var(--green)}.cal-type.plan:before{background:var(--faint)}.cal-ico{margin-right:4px;font-size:10px}.cal-chip.event{color:var(--amber);background:var(--amber-soft)}.cal-chip.event:hover{background:var(--elev)}.cal-chip.plan{color:var(--text-dim);font-style:italic;opacity:.8}.cal-chip.rem{color:var(--green)}.cal-chip.rem .cal-ico{font-size:9px}@media (max-width: 700px){.cal-dot.event{background:var(--amber)}.cal-dot.rem{background:var(--green)}.cal-dot.plan{opacity:.4}.cal-filters{margin-bottom:8px}}.event-modal .check-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);white-space:nowrap}.event-modal .check-inline input{min-height:0}.offset-row{flex-wrap:wrap}.offset-btn{border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:12.5px}.offset-btn.active{color:var(--amber);border-color:var(--amber);background:var(--amber-soft)}.modal-actions{margin-top:14px}.form-error{color:var(--red);font-size:13px;margin-top:8px}.attach-row{display:flex;gap:10px;align-items:center;padding:4px 0}.attach-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-s);border:1px solid var(--line);display:block;background:var(--inset)}.attach-icon{font-size:20px;width:44px;text-align:center;flex:none}.attach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-decoration:none}.attach-name:hover{color:var(--amber);text-decoration:underline}.attach-name.as-link{background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer}.attach-thumb{cursor:zoom-in}.attach-error{color:var(--red);font-size:12.5px}.file-row{align-items:center}.file-main{display:flex;gap:10px;align-items:baseline;min-width:0}.file-main .attach-name{flex:0 1 auto}.file-task-link{color:var(--text-dim);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-task-link:hover{color:var(--amber);text-decoration:underline}.tag-editor{display:flex;flex-direction:column;gap:6px;align-items:stretch}.tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-suggest{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;background:var(--inset);border-radius:var(--radius-s)}.tag-suggest .chip.selectable{cursor:pointer}.tag-create{border-style:dashed}.tag-suggest-hint{font-size:12px}.tags-scopes{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 4px}.tags-hint{margin:6px 0 0;font-size:12.5px}.tag-manage-row{align-items:center;gap:10px}.tag-swatch-btn{cursor:pointer;flex:none}.tag-manage-name{background:none;border:none;padding:0;font:inherit;color:var(--text);cursor:pointer;text-align:left}.tag-manage-name:hover{color:var(--amber)}.tag-default-badge{color:var(--text-dim);border-style:dashed;cursor:default}.tag-chip{display:inline-flex;align-items:center;gap:2px;padding-right:4px}.tag-chip .tag-name,.tag-chip .tag-del{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.tag-chip .tag-del{font-size:14px;line-height:1;padding:0 3px;opacity:.6}.tag-chip .tag-del:hover{opacity:1}.tag-add{font-size:12.5px}.tag-add-input{width:130px;font-size:16px;padding:3px 8px;background:var(--inset);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text)}.tag-palette{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);right:auto;min-width:240px;padding:12px 14px}.swatch-row{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.tag-palette button.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex:none;padding:0}.tag-palette button.swatch.on{border-color:var(--text)}.tag-palette button.swatch:hover{transform:scale(1.12)}.palette-actions{gap:8px}.swatch-custom{position:relative;overflow:hidden;cursor:pointer}.swatch-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.hotkeys-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:color-mix(in srgb,var(--bg) 55%,transparent);display:flex;align-items:center;justify-content:center}.hotkeys-help{position:static;min-width:280px;padding:14px 16px}.hotkey-row{display:flex;gap:14px;align-items:center;padding:5px 2px}.hotkey-row kbd{font-family:var(--font-mono);font-size:12px;min-width:26px;text-align:center;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:2px 7px;background:var(--panel);flex:none}.hotkey-hint{display:block;margin-top:8px;font-size:11.5px;color:var(--text-dim)}.viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column}.viewer-bar{display:flex;gap:10px;align-items:center;flex:none;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.viewer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px;color:var(--text-dim)}.viewer-dl{flex:none;text-decoration:none}.viewer-close{flex:none;font-size:22px;line-height:1;padding:2px 10px}.viewer-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px}.viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-s);box-shadow:var(--shadow-2)}.viewer-frame{width:100%;height:100%;border:1px solid var(--line-soft);border-radius:var(--radius-s);background:#fff}.prio-row{gap:4px}.prio-btn{border:1px solid var(--line);border-radius:var(--radius-s)}.prio-btn.active{border-color:var(--amber);color:var(--amber);background:var(--amber-soft)}.prio-btn.p3.active{border-color:var(--red);color:var(--red);background:#e05e5e1f}.recur-hint{font-size:12px;margin-top:4px}.muted{color:var(--text-dim)}.login-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px;width:330px;max-width:100%;text-align:center;box-shadow:var(--shadow-2)}.login-card h1{font-family:var(--font-display);font-size:26px;margin:0 0 4px;padding-bottom:10px;border-bottom:2px solid;border-image:linear-gradient(90deg,transparent,var(--amber),transparent) 1}.login-card .sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin:8px 0 20px}.login-card input{width:100%;margin-bottom:12px}.login-card .err{color:var(--red);font-size:13px;margin-top:10px}.empty-hint{color:var(--text-dim);text-align:center;margin:auto;padding:24px}.empty-hint .h{font-family:var(--font-display);font-size:20px;color:var(--text)}@media (max-width: 700px){input[type=search],input[type=text],input[type=password],input[type=datetime-local],input[type=date],input[type=time],select,textarea{font-size:16px}.topbar{padding:12px 14px 0}.board-title{font-size:21px}.amber-rule{margin:6px 14px 10px}.topbar-right{width:100%;order:2}.global-search{flex:1}.global-search input{width:100%}.search-pop{left:0;right:0;min-width:0}.toolbar{gap:6px;padding:0 14px 10px}.board{gap:10px;padding:2px 12px 12px;scroll-snap-type:x proximity;scroll-padding-left:12px}.column{min-width:86vw;width:86vw;scroll-snap-align:start}.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-height:94vh;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;padding:10px 18px 0}.modal:before{content:"";display:block;width:36px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 12px}.modal .actions{margin:18px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.modal input[type=datetime-local]{width:100%}.modal .row input[type=datetime-local]{width:auto;flex:1;min-width:170px}.filter-sheet{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:40;min-width:0;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;padding:10px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:var(--shadow-2)}.filter-sheet:before{content:"";display:block;width:36px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 10px}.filter-sheet .chip{font-size:13px;padding:5px 12px}.filter-wrap .menu-backdrop{background:#00000059}}.nav-tabs{display:flex;gap:2px;margin-left:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:2px}.nav-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12.5px;color:var(--text-dim);text-decoration:none;transition:color .15s ease,background .15s ease}.nav-tab:hover{color:var(--text)}.nav-tab.active{background:var(--amber-soft);color:var(--amber)}.nav-ico{font-size:12px}@media (max-width: 700px){.nav-tabs{position:fixed;left:0;right:0;bottom:0;z-index:39;margin:0;border-radius:0;border:none;border-top:1px solid var(--line);background:var(--panel);justify-content:space-around;padding:6px 10px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #00000038}.nav-tab{flex-direction:column;gap:2px;font-size:10.5px;padding:3px 16px}.nav-ico{font-size:17px}.board{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.cal-page,.notes-page{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}.notes-page{width:100%;max-width:760px;margin:0 auto;padding:14px 16px 40px;flex:1;overflow-y:auto}.notes-h{font-family:var(--font-display);font-size:19px}.notes-search{width:100%;margin-bottom:10px}.notes-tagbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.notes-empty{margin-top:28px;text-align:center}.notes-list{display:flex;flex-direction:column;gap:10px}.note-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-l);padding:12px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.note-card:hover{border-color:var(--amber)}.note-card.pinned{border-color:var(--amber);background:var(--amber-soft)}.note-head{display:flex;align-items:baseline;gap:8px}.note-pin{font-size:12px;flex-shrink:0}.note-title{font-family:var(--font-display);font-size:15.5px;font-weight:600;flex:1;min-width:0;word-break:break-word}.note-date{font-family:var(--font-mono);font-size:11px;color:var(--faint);flex-shrink:0}.note-snippet{margin:6px 0 0;font-size:13px;color:var(--text-dim);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.note-modal .tag-add-input{min-width:90px}.notes-topbar{flex-wrap:nowrap}.notes-search:focus-visible{outline:none;border-color:var(--amber)}.note-modal section{margin:12px 0}.note-modal .tag-add-input{flex:0 0 auto;width:110px;min-width:0;min-height:30px;border-radius:999px;padding:4px 12px}@media (max-width: 700px){.notes-topbar .topbar-right{width:auto;order:0}.notes-topbar .btn{padding:5px 10px;white-space:nowrap}.notes-page{padding:8px 14px calc(70px + env(safe-area-inset-bottom))}.notes-search{margin-bottom:8px}.modal .modal-actions{margin:14px -18px 0;padding:12px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft)}}.agenda-page{width:100%;max-width:720px;margin:0 auto;padding:4px 16px 40px;flex:1;overflow-y:auto}.agenda-empty{margin-top:28px;text-align:center}.seg-top{display:flex;gap:2px;margin:6px 0 2px;padding:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px}.seg-top button{flex:1;border:0;background:none;border-radius:999px;padding:6px 8px;font-size:12.5px;color:var(--text-dim)}.seg-top button:hover{color:var(--text)}.seg-top button.on{background:var(--amber-soft);color:var(--amber);font-weight:600}.seg-top .n{font-family:var(--font-mono);font-size:10.5px;opacity:.8}.scope-row{display:flex;align-items:center;gap:8px;margin:10px 0 2px}.scope-btn{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12.5px;color:var(--text-dim);display:inline-flex;gap:6px;align-items:center;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-btn:hover{border-color:var(--amber);color:var(--amber)}.scope-btn .car{color:var(--faint);font-size:11px}.scope-menu{top:32px;left:0;right:auto;min-width:190px}.quick-add{margin-left:auto;flex:none;background:var(--amber);color:#211a06;border:1px solid var(--amber);border-radius:999px;width:30px;height:30px;font-size:18px;line-height:1;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.quick-add:hover{background:var(--amber-bright)}.quick-add-input{width:100%;margin:8px 0 2px}.bucket-h{display:flex;align-items:center;gap:8px;margin:18px 2px 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.bucket-h .cnt{color:var(--amber)}.bucket-h .ln{flex:1;height:1px;background:var(--line-soft)}.overdue-fold{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:14px 0 8px;background:var(--panel);border:1px solid var(--line-soft);border-left:3px solid var(--red);border-radius:var(--radius)}.overdue-fold .lbl{background:none;border:0;padding:0;color:var(--text);font-size:12.5px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.overdue-fold .lbl .l1{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.overdue-fold .lbl b{color:var(--red)}.overdue-fold .lbl .also{color:var(--text-dim);font-size:11px;white-space:nowrap}.overdue-fold .lbl .car{color:var(--faint);font-size:11px}.overdue-fold .push{margin-left:auto;flex:none;font-size:11.5px;color:var(--amber);background:var(--amber-soft);border:1px solid transparent;border-radius:999px;padding:4px 10px;white-space:nowrap}.overdue-fold .push.armed{background:var(--red);border-color:var(--red);color:#fff}.row-swipe{position:relative;margin-bottom:8px}.row-behind{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:14px;border-radius:var(--radius);background:var(--amber-soft);color:var(--amber);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em}.row-behind.armed{background:var(--amber);color:#211a06;font-weight:600}.agenda-page .row{display:flex;gap:11px;align-items:flex-start;position:relative;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow-1);transition:border-color .15s ease,opacity .2s ease,transform .18s ease;touch-action:pan-y}.agenda-page .row.sliding{transition:border-color .15s ease,opacity .2s ease}.agenda-page .row:hover{border-color:var(--amber)}.agenda-page .row.overdue{box-shadow:inset 3px 0 0 var(--red),var(--shadow-1)}.agenda-page .circle{flex:none;width:23px;height:23px;border-radius:50%;margin-top:1px;border:2px solid var(--line);background:none;position:relative;transition:border-color .15s ease,background .15s ease}.agenda-page .circle:hover{border-color:var(--green)}.agenda-page .circle:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;opacity:0;transition:opacity .12s ease}.agenda-page .circle.on{background:var(--green);border-color:var(--green)}.agenda-page .circle.on:after{opacity:1}.agenda-page .row.p2 .circle{border-color:var(--amber)}.agenda-page .row.p3 .circle{border-color:var(--red)}.agenda-page .row.in-work{box-shadow:inset 3px 0 0 var(--amber),var(--shadow-1)}.agenda-page .row.in-work.overdue{box-shadow:inset 3px 0 0 var(--red),inset 6px 0 0 var(--amber),var(--shadow-1)}.agenda-page .circle.work{border-color:var(--amber);animation:work-pulse 2.4s ease-in-out infinite}.work-chip{font-family:var(--font-mono);font-size:10.5px;color:var(--amber);letter-spacing:.04em}@keyframes work-pulse{0%,to{box-shadow:0 0 #d9a44157}50%{box-shadow:0 0 0 5px #d9a44100}}@media (prefers-reduced-motion: reduce){.agenda-page .circle.work{animation:none}.agenda-page .row{transition:border-color .15s ease,opacity .2s ease}}.agenda-page .done-row .circle.on:hover{background:var(--amber);border-color:var(--amber)}.agenda-page .row-mark{flex:none;width:23px;margin-top:1px;text-align:center;color:var(--faint);font-family:var(--font-mono);font-size:12px}.agenda-page .row.ev .row-mark{color:var(--amber)}.agenda-page .row-body{flex:1;min-width:0;cursor:pointer}.s-title{display:flex;align-items:flex-start;gap:6px;font-size:13.5px;font-weight:500;line-height:1.35}.s-title .ttl{word-break:break-word}.s-title .prio{margin-left:auto;margin-right:0;padding-left:8px;flex:none}.done-row .ttl{color:var(--text-dim);text-decoration:line-through;text-decoration-thickness:1px}.s-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px}.s-time{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.s-time.over{color:var(--red);font-weight:600}.s-time.ok{color:var(--green)}.chip.ev-chip{background:var(--amber-soft);color:var(--amber)}.serial{display:inline-flex;align-items:center;gap:5px;padding:1px 7px 1px 6px;font-family:var(--font-mono);font-size:10.5px;color:var(--amber);background:var(--amber-soft);border:1px solid transparent;border-radius:999px}.serial .rot{font-size:12px}.agenda-page .row.ghost,.agenda-page .row.ev{background:var(--panel);border-style:dashed;box-shadow:none}.agenda-page .row.ghost .ttl,.agenda-page .row.ev .ttl{color:var(--text-dim)}.ghost-note{font-family:var(--font-mono);font-size:10px;color:var(--faint);font-style:italic}.load-more{min-height:20px;padding:14px 0 6px;text-align:center;font-family:var(--font-mono);font-size:10.5px;color:var(--faint);letter-spacing:.05em}.load-more .sp{display:inline-block;animation:agenda-pulse 1.3s ease-in-out infinite}@keyframes agenda-pulse{0%,to{opacity:.35}50%{opacity:1}}.a-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#090a0e80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center}.a-sheet{width:420px;max-width:100%;max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:8px 16px 18px;box-shadow:var(--shadow-2)}.a-sheet:before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:var(--line);margin:2px auto 12px}.a-sheet h4{font-family:var(--font-display);font-size:17px;margin:0 0 2px;font-weight:600}.a-sheet .for{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin:0 0 12px;word-break:break-word}.a-sheet .acts{display:flex;flex-direction:column;gap:7px}.a-sheet .act-btn{display:flex;align-items:center;gap:11px;text-align:left;width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:11px 13px;color:var(--text);font-size:14px}.a-sheet .act-btn:hover{border-color:var(--amber)}.a-sheet .act-btn .gl{font-size:16px;width:20px;text-align:center;flex:none}.a-sheet .act-btn .sub{display:block;font-size:11px;color:var(--text-dim);margin-top:1px}.a-sheet .act-btn.done .gl,.a-sheet .act-btn.reopen .gl{color:var(--green)}.a-sheet .act-btn.work .gl{color:var(--amber)}.a-sheet .act-btn.off{opacity:.5;cursor:not-allowed}.a-sheet .act-btn.off:hover{border-color:var(--line)}.a-sheet .act-btn.off .gl{color:var(--faint)}.a-sheet .act-btn.danger,.a-sheet .act-btn.danger .gl{color:var(--red)}.a-sheet .act-btn.armed{background:var(--red);border-color:var(--red);color:#fff}.a-sheet .act-btn.armed .gl{color:#fff}.a-sheet .act-btn.armed .sub{color:#fffc}.a-sheet .presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.a-sheet .preset{text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;color:var(--text);font-size:13px}.a-sheet .preset:hover{border-color:var(--amber)}.a-sheet .preset .when{display:block;margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.a-sheet .pick-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.a-sheet .pick-row input{flex:1 1 120px;min-width:0}.a-sheet .series-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 4px;padding:9px 11px;background:var(--inset);border-radius:var(--radius-s);font-size:11.5px;color:var(--text-dim)}.a-sheet .series-note b{color:var(--amber)}.a-sheet .sheet-back{background:none;border:0;padding:0;margin:12px 2px 0;color:var(--text-dim);font-size:12.5px}.a-sheet .sheet-back:hover{color:var(--amber)}.agenda-toast{position:fixed;left:50%;bottom:24px;z-index:41;width:420px;max-width:calc(100% - 28px);transform:translate(-50%,140%);display:flex;gap:10px;align-items:center;background:var(--elev);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow-2);font-size:12.5px;opacity:0;transition:transform .3s ease,opacity .3s ease}.agenda-toast.show{transform:translate(-50%);opacity:1}.agenda-toast.amber{border-left-color:var(--amber)}.agenda-toast.red{border-left-color:var(--red)}.agenda-toast .undo{margin-left:auto;background:none;border:0;padding:0;color:var(--amber);font-weight:600}@media (max-width: 700px){.agenda-page{padding:2px 14px calc(70px + env(safe-area-inset-bottom))}.a-sheet{width:100%;border-left:none;border-right:none;border-bottom:none;padding:8px 16px calc(18px + env(safe-area-inset-bottom))}.agenda-toast{bottom:calc(66px + env(safe-area-inset-bottom))}.seg-top button{font-size:13px;padding:7px 8px}.scope-row .chip{font-size:12.5px;padding:4px 11px}}
