@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-black-latin-ext-400-normal-DQAASfvW.woff2) format("woff2"),url(/assets/archivo-black-latin-ext-400-normal--j5WRK12.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-black-latin-400-normal-BTVu2TQR.woff2) format("woff2"),url(/assets/archivo-black-latin-400-normal-HW9MwEcM.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-display: "Archivo Black", "Arial Black", Arial, sans-serif;--font-body: "Space Grotesk Variable", Arial, Helvetica, sans-serif;font-family:var(--font-body);font-weight:500;--bg: #f2e4c8;--surface: #fff8ec;--surface-2: #f6e2b1;--muted-surface: #e6ddc9;--muted-border: #b5a993;--muted-text: #8a7f6d;--ink: #2b1d14;--text: #2b1d14;--shadow-ink: #2b1d14;--dot: #2b1d14;--ink-fixed: #2b1d14;--on-color: #fff8ec;--accent: #d9502f;--accent-2: #e3a72e;--danger: #a83b2c;--done-ink: #6e4630;--col-head: #2b1d14;--rarity-0: #ffffff;--rarity-1: #3d9a3a;--rarity-2: #2f6fd0;--rarity-3: #8a3fd1;--rarity-4: #e8862a;--rarity-5: #d42a45;--backdrop: rgba(43, 29, 20, .45);--cream-fixed: #fff8ec;--fs-2xs: .64rem;--fs-xs: .72rem;--fs-sm: .85rem;--fs-md: .95rem;--fs-lg: 1.1rem;--fs-xl: 1.3rem;--tracking: .04em;--badge-h: 20px;--control-h: 34px;--field-h: 38px;--border: 3px solid var(--ink);--border-thin: 2px solid var(--ink);--shadow: 5px 5px 0 var(--shadow-ink);--shadow-sm: 3px 3px 0 var(--shadow-ink);--shadow-xs: 2px 2px 0 var(--shadow-ink);--shadow-press: 1px 1px 0 var(--shadow-ink);--snap: cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1510;--surface: #2a1f18;--surface-2: #3b2b1e;--muted-surface: #221912;--muted-border: #5a4a3c;--muted-text: #9a8c78;--ink: #f2e4c8;--text: #f2e4c8;--shadow-ink: #e3a72e;--dot: #3a2c22;--accent: #e0633f;--danger: #d0553f;--done-ink: #d2b48c;--col-head: #0d0906;--rarity-0: #f4efe6;--rarity-1: #56b84f;--rarity-2: #4d8ae8;--rarity-3: #a765ea;--rarity-4: #f0963c;--rarity-5: #ef4a63;--backdrop: rgba(0, 0, 0, .6)}*{box-sizing:border-box}html{scrollbar-gutter:stable}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:var(--accent-2) var(--surface)}}@media (hover: hover) and (pointer: fine){::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:var(--surface);border-left:3px solid var(--ink)}::-webkit-scrollbar-track:horizontal{border-left:none;border-top:3px solid var(--ink)}::-webkit-scrollbar-thumb{background:var(--accent-2);border:3px solid var(--ink);min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-thumb:active{background:var(--ink)}::-webkit-scrollbar-corner{background:var(--surface)}::-webkit-scrollbar-button{display:none}.video-card-editor::-webkit-scrollbar{width:10px}.video-card-editor::-webkit-scrollbar-track{border-left-width:2px}.video-card-editor::-webkit-scrollbar-thumb{border-width:2px}}button,input,textarea{font-family:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}body{margin:0;min-height:100vh;background:var(--bg);background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px;color:var(--text)}.app{max-width:1040px;margin:0 auto;padding:40px 24px 96px}.app-header{display:flex;justify-content:center;margin:0 0 32px;font-size:inherit}.logo{display:inline-flex;align-items:center;gap:12px;margin:0;padding:6px 20px 8px 16px;font-family:var(--font-display);font-size:2.6rem;font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-fixed);background:var(--accent-2);border:var(--border);box-shadow:6px 6px 0 var(--logo-shadow, var(--shadow-ink));transform:rotate(-2deg);transition:box-shadow .14s var(--snap);-webkit-user-select:none;user-select:none;cursor:pointer}.logo:hover{box-shadow:8px 8px 0 var(--logo-shadow, var(--shadow-ink))}.logo:active{box-shadow:2px 2px 0 var(--logo-shadow, var(--shadow-ink))}.logo.ready .logo-check,.logo.ready .logo-check path{animation:none;stroke-dashoffset:0}.logo.touched.is-unchecked .logo-check path{animation:check-erase .16s cubic-bezier(.4,0,1,1) forwards}.logo.touched.is-checked .logo-check path{animation:check-redraw .24s cubic-bezier(.2,0,0,1) both}.logo.touched.is-checked .logo-check{animation:check-box-reland .2s var(--snap) .2s both}.logo.touched.is-unchecked .logo-check{animation:check-box-press .14s var(--snap)}@keyframes check-erase{0%{stroke-dashoffset:0}to{stroke-dashoffset:24}}@keyframes check-redraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes check-box-reland{0%,to{transform:scale(1)}50%{transform:scale(1.25) rotate(8deg)}}@keyframes check-box-press{50%{transform:scale(.85)}}.logo-check{display:inline-flex;flex-shrink:0;width:.62em;height:.62em;background:var(--cream-fixed);border:3px solid var(--ink-fixed);animation:check-box-land .2s var(--snap) .62s both}.logo-check svg{width:100%;height:100%}.logo-check path{fill:none;stroke:var(--ink-fixed);stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:24;stroke-dashoffset:24;animation:check-draw .24s cubic-bezier(.2,0,0,1) .4s forwards}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes check-box-land{0%{transform:scale(1)}50%{transform:scale(1.2) rotate(-6deg)}to{transform:scale(1)}}.add-video-form{position:relative;margin:0 auto 30px;max-width:680px}.add-video-row{display:flex;align-items:stretch;gap:12px}.add-video-form input[type=text]{flex:1;min-width:0;padding:16px 18px;border:var(--border);border-radius:0;font-size:var(--fs-lg);font-weight:700;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.add-video-form input:focus{outline:none;transform:translate(2px,2px);box-shadow:var(--shadow-press)}.add-video-form button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:140px;padding:16px 26px;border:var(--border);border-radius:0;background:var(--accent-2);color:var(--ink-fixed);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.add-video-form button:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}.add-video-form button:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.add-video-btn.added{background:var(--ink);color:var(--surface)}.add-video-hint{position:absolute;top:calc(100% + 7px);left:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-xs)}.help-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-xs);font-weight:700;padding:0 4px;border:var(--border-thin);background:var(--surface)}.hint-chip{display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking);animation:chip-in .14s var(--snap);font-weight:700;height:var(--badge-h);line-height:1}@keyframes chip-in{0%{transform:scale(.6)}to{transform:scale(1)}}.stats-chip{display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-xs);box-shadow:var(--shadow-xs);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;font-weight:700;height:var(--control-h)}button.stats-chip:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.stats-month{text-transform:capitalize;opacity:.7}.stats-editing{cursor:default;text-transform:uppercase;letter-spacing:var(--tracking);font-size:var(--fs-2xs)}.stats-goal-input{width:3.4em;padding:0 4px;border:var(--border-thin);background:var(--bg);color:var(--text);font-size:var(--fs-sm);font-weight:700}.stats-progress{display:block;width:56px;height:10px;border:var(--border-thin);background:var(--bg);overflow:hidden}.stats-progress-fill{display:block;height:100%;background:var(--accent-2);transition:width .18s var(--snap)}.stats-chip.complete .stats-progress-fill{background:var(--done-ink)}.toolbar-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 24px}.segmented{display:inline-flex}.segmented .sort-btn+.sort-btn{margin-left:-2px}.search-wrap{position:relative;display:inline-flex;align-items:center;transition:transform .08s ease}.search-wrap:focus-within{transform:translate(2px,2px)}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);z-index:1;color:var(--text);pointer-events:none}.search-input{padding:0 10px 0 30px;border:var(--border-thin);border-radius:0;font-size:var(--fs-sm);font-weight:700;background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);width:200px;transition:box-shadow .08s ease;height:var(--control-h)}.search-input:focus{outline:none;box-shadow:var(--shadow-press)}.sort-label{white-space:nowrap;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking);font-weight:700}.sort-btn{display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:var(--border-thin);border-radius:0;background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .08s ease,box-shadow .08s ease,background .08s ease;height:var(--control-h)}.sort-btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm)}.sort-btn:active{transform:translate(1px,1px);box-shadow:var(--shadow-press)}.sort-btn.active{background:var(--accent-2);color:var(--ink-fixed)}.icon-btn{padding:0;width:var(--control-h);justify-content:center}.options-wrap{position:relative}.options-badge{min-width:17px;padding:0 4px;background:var(--accent);color:var(--on-color);font-size:var(--fs-2xs);line-height:17px;text-align:center}.options-popover{position:absolute;top:calc(100% + 8px);left:50%;z-index:40;width:max-content;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface);border:var(--border);box-shadow:var(--shadow);transform:translate(-50%);animation:popover-in .14s var(--snap)}@keyframes popover-in{0%{transform:translate(-50%,-6px) scale(.96);opacity:0}}.options-section{display:flex;flex-direction:column;gap:6px}.options-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.clear-btn{align-self:flex-start;padding:0 8px;font-size:var(--fs-2xs);height:26px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.column{background:var(--surface);border:var(--border);border-radius:0;padding:16px;box-shadow:var(--shadow);transition:background .1s ease}.column.over{background:var(--surface-2)}.column h2{font-family:var(--font-display);font-size:var(--fs-md);font-weight:400;text-transform:uppercase;letter-spacing:.02em;margin:-16px -16px 16px;padding:11px 16px;background:var(--col-head);border-bottom:var(--border);display:flex;align-items:center;gap:8px;color:var(--cream-fixed)}.column-add{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream-fixed);background:var(--cream-fixed);color:var(--ink-fixed);cursor:pointer;box-shadow:2px 2px 0 var(--accent-2);transition:transform .08s ease,box-shadow .08s ease;margin-left:auto}.column-add:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent-2)}.column-add:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent-2)}.column-add-input{width:100%;margin-top:10px;padding:0 10px;border:2px dashed var(--ink);background:var(--bg);color:var(--text);font-size:var(--fs-sm);font-weight:700;animation:chip-in .14s var(--snap);height:var(--field-h)}.column-add-input:focus{outline:none;border-style:solid;box-shadow:var(--shadow-sm)}.status-icon{flex-shrink:0}.count{display:inline-flex;align-items:center;background:var(--cream-fixed);color:var(--ink-fixed);padding:0 8px;font-size:var(--fs-xs);height:24px;font-family:var(--font-body);font-weight:700}.count-archived{margin-left:4px;font-size:var(--fs-2xs);opacity:.6}.column-cards-wrap{overflow:hidden;padding:4px;margin:-4px;transition:height .18s cubic-bezier(.2,0,0,1)}.column-cards{display:flex;flex-direction:column;gap:10px}.column-empty{display:block;width:100%;background:transparent;color:var(--text);cursor:pointer;padding:22px 10px;border:2px dashed var(--ink);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking);text-align:center;opacity:.5;font-weight:700}.column-empty:hover{opacity:.85}.column.over .column-empty{opacity:1;background:var(--surface)}.archive-section{margin-top:10px}.archive-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;border:2px dashed var(--text);background:transparent;color:var(--text);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;opacity:.7;transition:opacity .1s ease;font-weight:700}.archive-toggle:hover{opacity:1}.archive-caret{transition:transform .12s var(--snap)}.archive-toggle.open .archive-caret{transform:rotate(90deg)}.archive-cards{margin-top:10px}.video-card{position:relative;background:var(--surface);border:var(--border);border-radius:0;padding:10px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;outline:none;touch-action:manipulation;transition:transform .1s ease,box-shadow .1s ease}.video-card:hover{transform:translate(-2px,-2px)}.video-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px;transform:translate(-2px,-2px)}.video-card.dragging{opacity:.25;border-style:dashed;box-shadow:none}.video-card-ghost{transform:rotate(-3deg) scale(1.03);box-shadow:8px 8px 0 var(--shadow-ink);cursor:grabbing;animation:card-lift .14s var(--snap)}@keyframes card-lift{0%{transform:rotate(0) scale(1);box-shadow:var(--shadow-sm)}}.video-card.card-pop{animation:card-pop .4s steps(6,end)}@keyframes card-pop{0%{transform:scale(.7) rotate(-4deg);background:var(--accent-2)}40%{transform:scale(1.06) rotate(2deg)}70%{transform:scale(.98) rotate(-1deg)}to{transform:scale(1) rotate(0);background:var(--surface)}}.video-card.priority-1{border-left:6px solid var(--rarity-1)}.video-card.priority-2{border-left:6px solid var(--rarity-2)}.video-card.priority-3{border-left:6px solid var(--rarity-3)}.video-card.priority-4{border-left:6px solid var(--rarity-4)}.video-card.priority-5{border-left:6px solid var(--rarity-5)}.video-card.video-card-done{background:var(--muted-surface);border-color:var(--muted-border)}.video-card.video-card-done.priority-1,.video-card.video-card-done.priority-2,.video-card.video-card-done.priority-3,.video-card.video-card-done.priority-4,.video-card.video-card-done.priority-5{border-left-color:var(--muted-border)}.video-card-done .video-card-title{color:var(--muted-text)}.done-stamp{padding:0 7px;border:2px solid var(--done-ink);color:var(--done-ink);font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);white-space:nowrap;transform:rotate(-3deg);display:inline-flex;align-items:center;height:var(--badge-h);line-height:1}.done-stamp.stamp-in{animation:stamp-in .32s var(--snap)}@keyframes stamp-in{0%{transform:rotate(-12deg) scale(2.2);opacity:0}60%{transform:rotate(-3deg) scale(.92);opacity:1}to{transform:rotate(-3deg) scale(1)}}.video-card-top{display:flex;align-items:flex-start;gap:4px}.video-card-title{flex:1;font-size:var(--fs-md);font-weight:700;line-height:1.3;word-break:break-word}.video-card-rename{flex:1;min-width:0;margin:-3px -4px;padding:2px 4px;border:var(--border-thin);background:var(--bg);color:var(--text);font-size:var(--fs-md);font-weight:700}.video-card-rename:focus{outline:none;box-shadow:2px 2px 0 var(--accent)}.video-card.renaming{cursor:text}.video-card.renaming:hover{transform:none}.video-card-flag{margin-top:3px;flex-shrink:0;color:var(--text)}.video-card-link{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:var(--border-thin);background:var(--surface);color:var(--text);transition:transform .08s ease,background .08s ease}.video-card-link:hover{transform:translate(-1px,-1px);background:var(--accent-2);color:var(--ink-fixed)}.card-steps{display:flex;align-items:center;gap:8px}.card-steps-bar{flex:1;display:flex;gap:4px}.card-steps-seg{flex:1;height:7px;border:var(--border-thin);background:var(--surface)}.card-steps-seg.done{background:var(--text)}.card-steps-count{font-size:var(--fs-2xs);font-weight:700}.video-card-formats{display:flex;align-items:center;gap:4px}.format-badge{display:inline-flex;align-items:center;gap:3px;height:var(--badge-h);padding:0 6px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);line-height:1;white-space:nowrap;cursor:pointer;transition:transform .1s var(--snap)}.format-badge:hover{transform:translate(-1px,-1px)}.format-badge:active{transform:scale(.92)}.format-badge-empty{border-style:dashed;border-color:var(--muted-border);color:var(--muted-text)}.sort-btn.format-option.active{background:var(--ink);color:var(--surface)}.priority-num{font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.priority-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--badge-h);gap:3px;height:var(--badge-h);padding:0 6px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);line-height:1;white-space:nowrap;cursor:pointer;transition:transform .1s var(--snap)}.priority-badge:hover{transform:translate(-1px,-1px)}.priority-badge:active{transform:scale(.92)}.priority-badge-0,.priority-option-0,.hint-priority-0{--rarity: var(--rarity-0)}.priority-badge-1,.priority-option-1,.hint-priority-1{--rarity: var(--rarity-1)}.priority-badge-2,.priority-option-2,.hint-priority-2{--rarity: var(--rarity-2)}.priority-badge-3,.priority-option-3,.hint-priority-3{--rarity: var(--rarity-3)}.priority-badge-4,.priority-option-4,.hint-priority-4{--rarity: var(--rarity-4)}.priority-badge-5,.priority-option-5,.hint-priority-5{--rarity: var(--rarity-5)}.priority-badge:not(.priority-badge-empty),.sort-btn.priority-option.active,.hint-chip[class*=hint-priority-]{background:var(--rarity);border-color:var(--rarity);color:#fff}.priority-badge.priority-badge-4,.sort-btn.priority-option-0.active,.sort-btn.priority-option-4.active,.hint-chip.hint-priority-4{color:var(--ink-fixed)}.sort-btn.priority-option:not(.active){box-shadow:inset 0 -4px 0 var(--rarity)}.sort-btn.priority-option-0:not(.active){box-shadow:inset 0 -4px 0 var(--muted-border)}.sort-btn.priority-option.active{border-color:var(--ink)}.priority-badge-empty{background:var(--rarity-0);color:var(--ink-fixed)}.priority-badge-empty{border-style:dashed}.video-card-meta{display:flex;align-items:center;gap:8px;min-height:20px;flex-wrap:wrap;row-gap:6px}.video-card-meta-end{margin-left:auto;display:flex;align-items:center;gap:8px}.video-card .priority-badge-empty,.video-card .format-badge-empty{display:none}@media (hover: hover){.video-card:hover .priority-badge-empty,.video-card:has(:focus-visible) .priority-badge-empty,.video-card:focus-visible .priority-badge-empty{display:inline-flex}.video-card:hover .format-badge-empty,.video-card:has(:focus-visible) .format-badge-empty,.video-card:focus-visible .format-badge-empty{display:inline-flex}}.deadline-badge{padding:0 7px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking);white-space:nowrap;font-weight:700;display:inline-flex;align-items:center;height:var(--badge-h);line-height:1}.deadline-badge.soon{background:var(--ink);color:var(--surface)}.deadline-badge.late{background:var(--danger);border-color:var(--danger);color:var(--on-color)}.video-card.video-card-late{border-top-color:var(--danger);border-right-color:var(--danger);border-bottom-color:var(--danger);box-shadow:3px 3px 0 var(--danger)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px;align-items:start}.calendar-undated{position:sticky;top:16px;display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:var(--border);box-shadow:var(--shadow);transition:background .08s ease}.calendar-undated.over{background:var(--surface-2)}.calendar-undated-title{display:flex;align-items:center;margin:0;font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);gap:8px}.calendar-undated-title .count{background:var(--text);color:var(--surface)}.calendar-undated-list{display:flex;flex-direction:column;gap:4px}.calendar-undated-empty,.calendar-undated-hint{margin:0;font-size:var(--fs-xs);font-weight:500;opacity:.65}.calendar{background:var(--surface);border:var(--border);box-shadow:var(--shadow);padding:16px}.calendar-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.calendar-title{flex:1;margin:0;text-align:center;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{padding:4px 0;text-align:center;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking);font-weight:700}.calendar-day{min-height:96px;min-width:0;padding:4px;display:flex;flex-direction:column;gap:4px;border:var(--border-thin);background:var(--surface);transition:background .08s ease}.calendar-day.outside{opacity:.4}.calendar-day.today{border:3px solid var(--accent);box-shadow:3px 3px 0 var(--accent)}.calendar-day.over{background:var(--surface-2)}.calendar-day-num{align-self:flex-start;padding:0 4px;font-size:var(--fs-xs);font-weight:700}.calendar-day.today .calendar-day-num{background:var(--accent);color:var(--on-color)}.calendar-chip{display:flex;align-items:center;gap:4px;width:100%;padding:2px 5px;border:var(--border-thin);border-left-width:5px;background:var(--bg);color:var(--text);font-size:var(--fs-xs);font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;transition:transform .08s ease}.calendar-chip.priority-1{border-left-color:var(--rarity-1)}.calendar-chip.priority-2{border-left-color:var(--rarity-2)}.calendar-chip.priority-3{border-left-color:var(--rarity-3)}.calendar-chip.priority-4{border-left-color:var(--rarity-4)}.calendar-chip.priority-5{border-left-color:var(--rarity-5)}.calendar-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-chip:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-xs)}.calendar-chip-done{color:var(--muted-text)}.calendar-chip.late{background:var(--danger);border-color:var(--danger);color:var(--on-color)}.calendar-note{margin:12px 0 0;font-size:var(--fs-xs);font-weight:500;opacity:.75}.welcome{max-width:560px;margin:12px auto 0;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--surface);border:var(--border);box-shadow:var(--shadow);animation:modal-pop .18s var(--snap)}.welcome-title{margin:0;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;text-transform:uppercase}.welcome-text{margin:0;font-size:var(--fs-md);font-weight:500;line-height:1.45}.welcome-examples{display:flex;flex-wrap:wrap;gap:8px}.welcome-example{padding:6px 10px;border:var(--border-thin);background:var(--bg);color:var(--text);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .08s ease,box-shadow .08s ease,background .08s ease}.welcome-example:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-sm);background:var(--accent-2);color:var(--ink-fixed)}.welcome-example code,.welcome-tips code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-xs);font-weight:700}.welcome-tips{margin:0;padding:12px 0 0;width:100%;border-top:2px dashed var(--ink);list-style:none;display:flex;flex-direction:column;gap:8px;font-size:var(--fs-sm);font-weight:500}.welcome-tips li{line-height:1.6}.welcome-tips li svg{vertical-align:-2px;margin-right:4px}.editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--backdrop);animation:backdrop-in .15s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.video-card-editor{position:relative;width:min(92vw,460px);max-height:min(90vh,720px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--surface);color:var(--text);border:var(--border);box-shadow:var(--shadow);animation:modal-pop .18s var(--snap)}.video-card-editor:focus{outline:none}@keyframes modal-pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.editor-close{position:absolute;top:20px;right:20px;z-index:1;width:var(--field-h);height:var(--field-h);border:var(--border-thin);background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-close:hover{background:var(--danger);border-color:var(--danger);color:var(--on-color)}.editor-body{display:flex;flex-direction:column;gap:12px}.editor-title-input{font-size:var(--fs-lg);font-weight:700;color:var(--text);background:var(--bg);border:var(--border-thin);border-radius:0;padding:0 10px;margin-top:0;margin-right:calc(var(--field-h) + 8px);height:var(--field-h)}.editor-status{display:flex}.editor-status .sort-btn{flex:1;justify-content:center;box-shadow:none}.editor-status .sort-btn:hover{box-shadow:none}.editor-tags{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-tag-group{display:flex;align-items:center;gap:8px}.editor-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-field{display:flex;flex-direction:column;gap:4px;min-width:0}.editor-field-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking);opacity:.8;font-weight:700}.editor-inline{display:flex;gap:6px}.editor-inline>input{flex:1;min-width:0}.editor-date-input{width:100%;font-size:var(--fs-sm);font-weight:500;color:var(--text);background:var(--bg);border:var(--border-thin);border-radius:0;padding:0 10px;height:var(--field-h)}.editor-icon-btn{flex-shrink:0;width:var(--field-h);display:flex;align-items:center;justify-content:center;border:var(--border-thin);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .08s ease,background .08s ease;height:var(--field-h)}.editor-icon-btn:hover{transform:translate(-1px,-1px);background:var(--accent-2);color:var(--ink-fixed)}.editor-title-input:focus,.editor-date-input:focus,.editor-notes-input:focus{outline:none;box-shadow:3px 3px 0 var(--accent)}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.checklist-item{display:flex;align-items:center;gap:8px;padding:3px 0}.checklist-box{flex-shrink:0;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;border:var(--border-thin);background:var(--surface);color:var(--ink-fixed);cursor:pointer;transition:background .08s ease,transform .1s var(--snap)}.checklist-box:active{transform:scale(.85)}.checklist-item.done .checklist-box{background:var(--text);color:var(--surface)}.checklist-label{flex:1;font-size:var(--fs-sm);font-weight:500}.checklist-item.done .checklist-label{color:var(--muted-text);text-decoration:line-through;text-decoration-thickness:2px}.checklist-remove{width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid transparent;background:transparent;color:var(--text);cursor:pointer}.checklist-remove:hover{border-color:var(--danger);background:var(--danger);color:var(--on-color)}@media (hover: hover){.checklist-remove{opacity:0}.checklist-item:hover .checklist-remove,.checklist-remove:focus-visible{opacity:1}}.editor-notes-input{font-size:var(--fs-sm);font-weight:500;color:var(--text);background:var(--surface-2);border:2px dashed var(--ink);border-radius:0;padding:8px 10px;resize:vertical}.editor-btn-save{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;margin-top:4px;border:var(--border);background:var(--accent-2);color:var(--ink-fixed);font-family:var(--font-display);font-size:var(--fs-sm);text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.editor-btn-save:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow)}.editor-btn-save:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.editor-footer{display:flex;gap:8px;margin-top:4px}.editor-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:0;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;transition:background .1s ease,color .1s ease,transform .1s ease;font-weight:700;height:var(--field-h)}.editor-btn:hover{transform:translate(-1px,-1px);background:var(--accent-2);color:var(--ink-fixed)}.editor-btn-primary{background:var(--accent-2);color:var(--ink-fixed);box-shadow:var(--shadow-sm)}.editor-btn-danger:hover{background:var(--danger);border-color:var(--danger);color:var(--on-color)}.modal-title{display:flex;align-items:center;gap:8px;margin:0 calc(var(--field-h) + 8px) 4px 0;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;text-transform:uppercase;min-height:var(--field-h)}.confirm-modal{width:min(92vw,380px)}.confirm-message{margin:0;font-size:var(--fs-sm);font-weight:500;line-height:1.45}.help-modal{width:min(92vw,480px)}.help-subtitle{margin:10px 0 0;padding-top:10px;border-top:2px dashed var(--ink);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);opacity:.8}.help-list{display:grid;grid-template-columns:10.5rem 1fr;gap:12px;align-items:center;margin:0}.help-row{display:contents}.help-list dt{display:flex;gap:4px;margin:0}.help-list dd{margin:0;font-size:var(--fs-sm);font-weight:500}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:3px 7px;border:var(--border-thin);background:var(--bg);box-shadow:var(--shadow-xs);font-size:var(--fs-xs);font-weight:700}.app-footer{display:flex;justify-content:center;gap:8px;margin-top:48px;padding-top:20px;border-top:2px dashed var(--ink);opacity:.85}.app-footer{align-items:center;flex-wrap:wrap}.backup-reminder{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:700;color:var(--danger)}.toast-stack{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px)}.undo-toast{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:var(--surface);border:var(--border);box-shadow:var(--shadow);font-size:var(--fs-sm);font-weight:700;animation:toast-in .2s var(--snap)}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.undo-toast-timer{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--accent-2);transform-origin:left;animation:toast-timer 5s linear forwards}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.undo-toast-btn{padding:0 12px;border:2px solid var(--surface);background:var(--accent-2);color:var(--ink-fixed);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;font-weight:700;height:30px}.undo-toast-btn:hover{background:var(--accent);color:var(--on-color)}.board-tabs{position:sticky;top:0;z-index:30;display:flex;margin:0 -16px 16px;padding:10px 16px;background:var(--bg);border-bottom:2px dashed var(--ink)}.board-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 4px;border:var(--border-thin);background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking);cursor:pointer;transition:background .08s ease,transform .1s var(--snap)}.board-tab+.board-tab{margin-left:-2px}.board-tab.active{background:var(--accent-2);color:var(--ink-fixed);box-shadow:inset 0 -4px 0 var(--ink-fixed)}.board-tab.over{background:var(--accent-2);color:var(--ink-fixed);transform:scale(1.06)}.board-tab-count{min-width:18px;padding:0 4px;background:var(--ink-fixed);color:var(--cream-fixed);font-size:var(--fs-2xs);line-height:17px;animation:chip-in .2s var(--snap)}@media (max-width: 700px){.app{padding:28px 16px 96px}.logo{font-size:2rem}.app-header{margin-bottom:24px}.board{grid-template-columns:1fr}.add-video-row{flex-wrap:wrap}.add-video-form input[type=text]{flex-basis:100%}.add-video-form button{flex:1;padding:12px 20px}.search-input{width:150px}.calendar{padding:10px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-undated{position:static}.calendar-grid{gap:2px}.calendar-day{min-height:64px;padding:2px;border-width:1.5px}.calendar-chip{padding:1px 3px;border-width:1.5px;border-left-width:3px;font-size:var(--fs-2xs)}}@media (max-width: 480px){.editor-backdrop{padding:12px}.video-card-editor{width:100%;padding:16px}.editor-close{top:16px;right:16px}.help-list{grid-template-columns:auto 1fr}.editor-row{grid-template-columns:1fr}}.lock-panel{width:min(420px,100%);margin:12px auto 0;padding:20px 20px 12px;display:flex;flex-direction:column;gap:16px;background:var(--surface);border:var(--border);box-shadow:var(--shadow);animation:modal-pop .18s var(--snap)}.lock-panel.is-error{animation:lock-shake .32s var(--snap)}@keyframes lock-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.lock-title{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;text-transform:uppercase}.lock-row{display:flex;gap:12px}@media (max-width: 700px){.lock-row{flex-direction:column}}.lock-input{flex:1;min-width:0;height:var(--field-h);padding:0 12px;border:var(--border);border-radius:0;font-size:16px;font-weight:700;background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.lock-input:focus{outline:none;transform:translate(2px,2px);box-shadow:var(--shadow-press)}.lock-panel.is-error .lock-input{border-color:var(--danger)}.lock-btn{height:var(--field-h);padding:0 20px;border:var(--border);border-radius:0;background:var(--accent-2);color:var(--ink-fixed);font-family:var(--font-display);font-size:var(--fs-md);font-weight:400;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s ease,box-shadow .08s ease}.lock-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--shadow)}.lock-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:var(--shadow-press)}.lock-btn:disabled{cursor:default;opacity:.5}.lock-text{margin:0;font-size:var(--fs-md);font-weight:500;line-height:1.45}.lock-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--text);font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking);text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.lock-link:hover{color:var(--accent)}.lock-hint{margin:0;min-height:1.2em;font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking);text-transform:uppercase;color:var(--danger)}@media (prefers-reduced-motion: reduce){.logo-check path{stroke-dashoffset:0}.logo.touched.is-unchecked .logo-check path{stroke-dashoffset:24}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
