:root{--bg:#fbf6ee;--surface:#fffdf8;--surface-warm:#f1e3cf;--fg:#201914;--fg-2:#4c4037;--muted:#7a6d63;--meta:#9b5b32;--border:#ded2c3;--border-soft:#eee4d7;--accent:#9b5b32;--accent-on:#ffffff;--accent-hover:color-mix(in oklab,var(--accent),black 8%);--accent-active:color-mix(in oklab,var(--accent),black 14%);--accent-wash:color-mix(in oklab,var(--accent),white 86%);--success:#4f8a4f;--warn:#c9822f;--danger:#b33a3a;--danger-wash:color-mix(in oklab,var(--danger),white 88%);--font-display:var(--font-noto-serif-kr),Georgia,"Iowan Old Style","Times New Roman",serif;--font-body:var(--font-noto-sans-kr),-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;--text-xs:12px;--text-sm:14px;--text-base:17px;--text-lg:20px;--text-xl:28px;--text-2xl:42px;--text-3xl:64px;--text-4xl:88px;--leading-body:1.62;--leading-tight:1.15;--tracking-display:-0.022em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 1px var(--border);--elev-raised:0 2px 0 rgba(32,25,20,0.02),0 18px 36px rgba(32,25,20,0.08);--elev-modal:0 24px 64px rgba(32,25,20,0.18);--focus-ring:0 0 0 4px rgba(155,91,50,0.22);--motion-fast:150ms;--motion-base:240ms;--ease-standard:cubic-bezier(0.2,0,0,1);--container-max:1180px;--container-gutter-desktop:36px;--container-gutter-tablet:24px;--container-gutter-phone:16px;--primary:var(--accent);--primary-strong:var(--accent-hover);--text:var(--fg);--line:var(--border);--panel:var(--surface);--panel-strong:var(--surface-warm);--shadow:var(--elev-modal);--soft-shadow:var(--elev-raised)}*{box-sizing:border-box}body,html{height:100%}body{background:var(--bg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,h1,h2,h3,h4{margin:0;color:var(--fg)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-weight:600}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:3px solid transparent;outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.page{min-height:100vh;padding:var(--space-8)}.work-page{padding:var(--space-5)}.topbar{align-items:center;display:flex;gap:var(--space-5);justify-content:space-between;margin:0 auto var(--space-6);max-width:var(--container-max)}.topbar h1{font-size:var(--text-2xl);margin:0}.author-chip,.completed-row small,.detail-meta,.eyebrow,.service-card span,.service-url,.task-card small,.task-card span,.text-link,.topbar p{color:var(--muted)}.eyebrow{color:var(--meta);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;margin:0;text-transform:uppercase}.comment-form,.detail-meta,.inline-edit,.modal-actions,.text-link,.toolbar{align-items:center;display:flex;gap:var(--space-3)}.service-url,.text-link{text-decoration:none}.service-url{cursor:pointer}.service-url:hover{text-decoration:underline}.danger-button,.ghost-button,.icon-button,.primary-button{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;min-height:44px;padding:10px 20px;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.primary-button{background:var(--accent);color:var(--accent-on)}.primary-button:hover{background:var(--accent-hover)}.primary-button:active{background:var(--accent-active)}.primary-button:disabled{background:color-mix(in oklab,var(--accent),white 40%);cursor:not-allowed}.ghost-button{background:transparent;border-color:var(--border);color:var(--fg);text-decoration:none}.ghost-button:hover{background:var(--border-soft);border-color:var(--fg-2)}.danger-button{background:var(--danger-wash);border-color:color-mix(in oklab,var(--danger),white 60%);color:var(--danger)}.danger-button:hover{background:color-mix(in oklab,var(--danger),white 78%)}.icon-button{aspect-ratio:1;background:var(--surface);border-color:var(--border);color:var(--fg-2);min-height:40px;padding:8px}.icon-button:hover{border-color:var(--fg-2);color:var(--fg)}.mini-icon-button{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;padding:2px}.mini-icon-button:hover{color:var(--accent)}.service-grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0;max-width:none}.service-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:360px;overflow:hidden;position:relative;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard)}.service-card:hover{border-color:var(--border);box-shadow:var(--elev-raised);transform:translateY(-2px)}.service-card-main{background:transparent;border:0;display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);height:100%;padding:var(--space-5) var(--space-5) var(--space-4);text-align:left;width:100%}.thumbnail-box{align-items:center;background:var(--surface-warm);border-radius:var(--radius-sm);color:var(--meta);display:flex;height:168px;justify-content:center;margin-bottom:var(--space-2);overflow:hidden;position:relative;width:100%}.thumbnail-box:before{content:none}.thumbnail-image{height:100%;object-fit:cover;width:100%}.card-edit{min-height:36px;opacity:0;padding:6px;position:absolute;right:var(--space-5);top:var(--space-5);transition:opacity var(--motion-fast) var(--ease-standard)}.service-card:focus-within .card-edit,.service-card:hover .card-edit{opacity:1}.empty-state,.notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:0 auto;max-width:var(--container-max);padding:var(--space-6)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton{animation:skeleton-shimmer 1.6s ease-in-out infinite;background:linear-gradient(90deg,var(--border-soft) 25%,var(--bg) 37%,var(--border-soft) 63%);background-size:200% 100%;border-radius:var(--radius-sm);display:block}.service-card-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.skeleton-thumbnail{height:168px;width:100%}.skeleton-line{height:14px;width:100%}.skeleton-line-title{height:22px;width:68%}.skeleton-line-short{width:42%}.skeleton-pill{border-radius:var(--radius-pill);height:26px;width:84px}.skeleton-link{height:18px;width:92px}.kanban-column-skeleton,.task-card-skeleton{pointer-events:none}.skeleton-column-title{height:20px;width:150px}.skeleton-count{border-radius:var(--radius-pill);height:24px;width:32px}.skeleton-icon{height:32px;width:32px}.skeleton-add-task{height:44px;margin:10px 10px 0}.skeleton-drag-handle{border-radius:0;flex:0 0 32px;margin:18px 0 18px 10px}.skeleton-chip{height:25px;width:118px}.skeleton-avatar,.skeleton-chip{border-radius:var(--radius-pill)}.skeleton-avatar{flex:0 0 auto;height:28px;width:28px}.skeleton-footer-name{width:92px}.skeleton-footer-meta{height:18px;margin-left:auto;width:56px}.completed-row-skeleton{pointer-events:none}.skeleton-date{height:18px;width:154px}.task-detail-skeleton{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.skeleton-meta{height:18px;width:150px}.skeleton-select{height:38px;max-width:240px;width:100%}.skeleton-section-heading{height:22px;margin-bottom:10px;width:110px}.skeleton-attachment-image{height:64px;width:64px}.attachment-card-skeleton{pointer-events:none}.skeleton-input{height:38px;margin-top:12px;width:100%}.skeleton-textarea{height:92px;width:100%}.form-error,.notice{color:var(--danger)}.modal-backdrop{align-items:center;background:rgba(32,25,20,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;inset:0;justify-content:center;padding:var(--space-5);position:fixed;z-index:20}.modal{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--elev-modal);max-height:calc(100vh - 40px);overflow:auto;padding:var(--space-6);width:min(580px,100%)}.wide-modal{width:min(960px,100%)}.task-detail-modal{overscroll-behavior:contain}.small-modal{width:min(420px,100%)}.modal-header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.modal-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2)}.compact-action-button{min-height:38px;padding:8px 14px;white-space:nowrap}.modal h3,.modal-header h2{font-family:var(--font-display);letter-spacing:var(--tracking-display);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-4)}.field span{color:var(--fg-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.field-label-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}.field-label-row label{color:var(--fg-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);min-height:42px;padding:10px 12px;width:100%;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(155,91,50,.16);outline:0}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{line-height:1.55;resize:vertical}.file-picker{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-height:48px;padding:8px;position:relative}.file-picker-input{height:1px;min-height:1px;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px}.field .file-picker-button{align-items:center;background:var(--accent-wash);border:1px solid color-mix(in oklab,var(--accent),white 60%);border-radius:var(--radius-sm);color:var(--accent);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;min-height:32px;padding:6px 14px;white-space:nowrap}.file-picker:hover .file-picker-button{background:color-mix(in oklab,var(--accent),white 72%);border-color:color-mix(in oklab,var(--accent),white 40%)}.file-picker.is-uploading{background:var(--border-soft);pointer-events:none}.file-picker.is-uploading .file-picker-button{background:var(--border-soft);border-color:var(--border);color:var(--muted)}.field .file-picker:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(155,91,50,.16)}.field .file-picker-status{color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.author-name-row{align-items:center;display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.author-name-row input{flex:1 1;min-width:0}.author-name-row button{flex:0 0 auto}.author-modal-actions{justify-content:center}.author-modal-backdrop{background:rgba(32,25,20,.52);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.author-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--elev-modal);overflow:hidden;width:min(588px,100%)}.author-modal-header{align-items:center;background:var(--bg);border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;min-height:80px;padding:0 var(--space-8)}.author-modal-header h2{color:var(--fg);font-family:var(--font-display);font-size:26px;letter-spacing:var(--tracking-display);margin:0}.author-modal-close{align-items:center;background:transparent;border:0;color:var(--fg-2);display:inline-flex;justify-content:center;min-height:40px;padding:0;width:40px}.author-modal-close:hover{color:var(--fg)}.author-modal-body{padding:var(--space-8)}.author-modal-body p{color:var(--fg-2);font-size:var(--text-base);line-height:var(--leading-body);margin:0 0 var(--space-6)}.author-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.author-field label{color:var(--fg);font-size:var(--text-sm);font-weight:600}.author-field strong{color:var(--danger)}.author-field input{background:var(--surface);border-color:var(--border);flex:1 1;font-size:var(--text-base);min-height:48px;min-width:0;padding:0 16px}.author-field input::placeholder{color:var(--muted)}.author-input-row{align-items:stretch;display:flex;gap:var(--space-3)}.author-helper-row{align-items:center;color:var(--muted);display:flex;font-size:var(--text-sm);gap:var(--space-3);margin-top:var(--space-3)}.author-helper-row span{align-items:center;display:inline-flex;flex:1 1;gap:6px;min-width:0}.author-helper-row strong{font-size:var(--text-sm);color:var(--fg-2)}.author-suggest-button{align-items:center;background:var(--accent-wash);border:1px solid color-mix(in oklab,var(--accent),white 60%);border-radius:var(--radius-sm);color:var(--accent);flex:0 0 auto;display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;min-height:48px;padding:0 var(--space-4);white-space:nowrap}.author-suggest-button:hover{background:color-mix(in oklab,var(--accent),white 72%);border-color:color-mix(in oklab,var(--accent),white 40%)}.author-error{margin:var(--space-3) 0 0}.author-modal-actions{align-items:center;background:var(--bg);border-top:1px solid var(--border-soft);display:flex;gap:var(--space-3);justify-content:flex-end;min-height:76px;padding:0 var(--space-8)}.author-modal-actions .ghost-button,.author-modal-actions .primary-button{min-height:40px;padding:8px var(--space-5)}.modal-grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:.8fr 1.2fr}.edit-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-3) 0 var(--space-5)}.section-manager-modal{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--elev-modal);padding:var(--space-10) var(--space-10);width:min(920px,calc(100vw - 48px))}.section-manager-header{align-items:flex-start;border-bottom:1px solid var(--border-soft);display:flex;gap:var(--space-5);justify-content:space-between;padding-bottom:var(--space-6)}.section-manager-header h2{color:var(--fg);font-family:var(--font-display);font-size:30px;letter-spacing:var(--tracking-display);line-height:1.2;margin:0 0 var(--space-2)}.section-manager-header p{color:var(--fg-2);font-size:var(--text-base);line-height:1.5;margin:0}.section-manager-close{align-items:center;background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--fg-2);display:inline-flex;flex:0 0 auto;height:48px;justify-content:center;width:48px}.section-manager-close:hover{border-color:var(--fg-2);color:var(--fg)}.section-manager-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding-top:var(--space-6)}.section-manager-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.section-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:var(--space-4);min-height:80px;padding:var(--space-4) var(--space-5);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.section-row.is-editing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.section-row.is-delete-target{border-color:color-mix(in oklab,var(--danger),white 40%)}.section-drag-button{align-items:center;background:transparent;border:0;display:inline-flex;justify-content:center;padding:0;touch-action:none}.section-drag-button,.section-drag-icon{color:var(--muted);flex:0 0 auto}.section-name-button{align-items:center;background:transparent;border:0;color:var(--fg);display:flex;flex:1 1;flex-wrap:wrap;font-family:var(--font-display);font-size:22px;letter-spacing:var(--tracking-display);gap:var(--space-3);justify-content:flex-start;min-width:0;padding:0;text-align:left}.completion-badge{background:var(--accent-wash);color:var(--accent);font-family:var(--font-body);font-weight:600;gap:6px;letter-spacing:.04em;min-height:28px;padding:0 12px}.completion-badge,.section-task-count{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--text-xs)}.section-task-count{background:var(--border-soft);color:var(--fg-2);font-family:var(--font-mono);font-weight:500;min-height:22px;padding:0 8px}.section-name-input{border:1px solid var(--accent);border-radius:var(--radius-sm);flex:1 1;font-family:var(--font-display);font-size:22px;min-height:44px;min-width:0;padding:8px 12px}.section-name-input:focus{box-shadow:0 0 0 3px rgba(155,91,50,.16);outline:0}.section-row-actions{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2)}.section-danger-button,.section-delete-button,.section-quiet-button,.section-save-button,.section-text-button{align-items:center;border:0;border-radius:var(--radius-sm);display:inline-flex;font-family:var(--font-body);font-weight:600;justify-content:center;min-height:38px;padding:0 var(--space-4)}.section-quiet-button,.section-text-button{background:transparent;color:var(--fg-2)}.section-quiet-button:hover,.section-text-button:hover{color:var(--fg)}.section-quiet-button{color:var(--muted);font-size:var(--text-sm)}.section-delete-button{background:transparent;color:var(--danger);padding:0 var(--space-2)}.section-save-button{background:var(--accent);color:var(--accent-on)}.section-save-button:hover{background:var(--accent-hover)}.section-danger-button{background:var(--danger);color:var(--accent-on)}.section-danger-button:hover{background:color-mix(in oklab,var(--danger),black 8%)}.section-delete-panel{background:var(--danger-wash);border:1px solid color-mix(in oklab,var(--danger),white 60%);border-radius:var(--radius-sm);color:var(--danger);display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5) var(--space-6)}.section-delete-title{align-items:center;display:flex;gap:var(--space-3)}.section-delete-title strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}.section-delete-panel p{color:var(--fg-2);font-size:var(--text-base);line-height:1.5;margin:0}.section-delete-actions{align-items:center;display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:minmax(260px,1fr) auto auto}.section-select-field{position:relative}.section-select-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border-color:color-mix(in oklab,var(--danger),white 50%);color:var(--fg);font-size:var(--text-base);min-height:46px;padding:0 48px 0 16px}.section-select-field svg{color:var(--muted);pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.section-add-button{align-items:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--fg-2);display:flex;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;gap:var(--space-3);justify-content:center;min-height:64px;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);width:100%}.section-add-button:hover{border-color:var(--accent);color:var(--accent)}.section-manager-error{background:var(--danger-wash);border:1px solid color-mix(in oklab,var(--danger),white 60%);border-radius:var(--radius-sm);margin:0;padding:var(--space-3) var(--space-4)}.section-manager-footer{align-items:center;border-top:1px solid var(--border-soft);color:var(--muted);display:flex;font-size:var(--text-sm);gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5)}.app-header{background:var(--surface);border-bottom:1px solid var(--border-soft);position:-webkit-sticky;position:sticky;top:0;z-index:30}.app-header-inner{align-items:center;display:flex;gap:var(--space-6);min-height:64px;padding:0 var(--container-gutter-desktop);width:100%}.app-brand{align-items:center;color:var(--fg);display:inline-flex;flex:0 0 auto;gap:var(--space-3);text-decoration:none}.app-brand:hover{color:var(--accent)}.app-brand-mark{align-items:center;background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-on);display:inline-flex;font-family:var(--font-mono);font-size:12px;font-weight:600;height:32px;justify-content:center;letter-spacing:.04em;width:32px}.app-brand-name{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:var(--tracking-display)}.app-nav{align-items:center;display:flex;flex:1 1;gap:var(--space-2);margin-left:var(--space-4)}.app-nav-link{align-items:center;border-radius:var(--radius-pill);color:var(--fg-2);display:inline-flex;font-size:var(--text-sm);font-weight:600;min-height:36px;padding:0 var(--space-4);text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.app-nav-link:hover{background:var(--surface-warm);color:var(--fg)}.app-nav-link.is-active{background:var(--surface-warm);color:var(--accent)}.app-session{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-3)}.app-session form{margin:0}.app-user-chip{background:transparent;border:1px solid var(--border-soft);color:var(--fg);font-size:var(--text-sm);gap:var(--space-2);line-height:1;max-width:220px;overflow:hidden;padding:4px 12px 4px 4px}.app-user-avatar,.app-user-chip{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-weight:600}.app-user-avatar{background:var(--fg);color:var(--bg);font-family:var(--font-mono);font-size:12px;height:28px;justify-content:center;width:28px}.app-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-logout-button{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-2);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);line-height:1;min-height:36px;padding:0 var(--space-4);transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.app-logout-button:hover{border-color:var(--accent);color:var(--accent)}.service-page{background:var(--bg);display:flex;flex-direction:column;min-height:100vh;padding:0}.service-search{align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--muted);display:flex;flex:1 1 360px;gap:var(--space-3);height:44px;max-width:480px;padding:0 var(--space-4);transition:border-color var(--motion-fast) var(--ease-standard)}.service-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(155,91,50,.12)}.service-search input{background:transparent;border:0;color:var(--fg);min-height:0;outline:0;padding:0;width:100%}.service-content{flex:1 1;min-height:0;padding:var(--space-12) var(--container-gutter-desktop) var(--space-10);width:100%}.service-toolbar{align-items:center;display:flex;gap:var(--space-4);margin-bottom:var(--space-8)}.service-hero{align-items:flex-end;border-bottom:1px solid var(--border-soft);display:flex;gap:var(--space-6);justify-content:space-between;margin-bottom:var(--space-10);padding-bottom:var(--space-6)}.service-hero h1{font-size:var(--text-xl);line-height:1.15;margin:0}.service-card-main>strong,.service-hero h1{color:var(--fg);font-family:var(--font-display);font-weight:500;letter-spacing:var(--tracking-display)}.service-card-main>strong{font-size:var(--text-lg);line-height:1.25;margin-top:var(--space-1)}.service-card-main>span{color:var(--fg-2);font-size:var(--text-sm);line-height:1.5;min-height:44px}.service-card-footer{align-items:center;border-top:1px solid var(--border-soft);display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);width:100%}.service-card-actions{border-top:1px solid var(--border-soft);padding:var(--space-3) var(--space-5) var(--space-5)}.copy-link-button{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;min-height:40px;padding:8px var(--space-3);width:100%;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.copy-link-button:hover{border-color:var(--accent);color:var(--accent)}.copy-link-button-failed{background:var(--danger-wash);border-color:color-mix(in oklab,var(--danger),white 60%);color:var(--danger)}.toast{background:var(--fg);border-radius:var(--radius-sm);bottom:28px;box-shadow:var(--elev-modal);color:var(--bg);font-size:var(--text-sm);font-weight:600;left:50%;max-width:min(420px,calc(100vw - 32px));padding:14px 18px;position:fixed;text-align:center;transform:translateX(-50%);z-index:80}.toast-success{background:var(--success);color:var(--accent-on)}.toast-error{background:var(--danger);color:var(--accent-on)}.join-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.join-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--elev-raised);display:grid;grid-gap:var(--space-3);gap:var(--space-3);max-width:440px;padding:var(--space-10);text-align:center}.join-panel strong{color:var(--fg);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:var(--tracking-display);line-height:1.2}.join-panel p{color:var(--muted);line-height:var(--leading-body);margin:0}.login-page{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6);position:relative}.login-page:before{background:var(--surface-warm);border-radius:var(--radius-pill);content:"";filter:blur(120px);height:320px;left:50%;opacity:.6;position:absolute;top:-120px;transform:translateX(-50%);width:480px;z-index:0}.login-panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--elev-raised);display:grid;grid-gap:var(--space-5);gap:var(--space-5);max-width:440px;padding:var(--space-12) var(--space-10);position:relative;text-align:left;width:min(100%,440px);z-index:1}.login-brand{color:var(--meta);display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;margin-bottom:var(--space-3);text-transform:uppercase}.login-panel h1{color:var(--fg);font-family:var(--font-display);font-size:clamp(32px,4vw,42px);font-weight:500;letter-spacing:var(--tracking-display);line-height:1.1;margin:0 0 var(--space-3)}.login-panel p{color:var(--fg-2);line-height:var(--leading-body);margin:0}.login-button{width:100%}.status-badge{align-items:center;background:transparent;border-radius:var(--radius-pill);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:11px;font-weight:500;gap:var(--space-2);letter-spacing:.06em;min-height:24px;padding:2px 0;text-transform:uppercase}.status-badge span{border-radius:var(--radius-pill);height:8px;width:8px}.status-active span{background:var(--success)}.status-maintenance span{background:var(--warn)}.status-inactive span{background:var(--border)}.enter-link{align-items:center;color:var(--accent);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2)}.enter-link:hover{color:var(--accent-hover)}.new-service-card{align-items:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--fg-2);display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;min-height:360px;padding:var(--space-8);text-align:center;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.new-service-card:hover{border-color:var(--accent);color:var(--accent)}.new-service-icon{align-items:center;background:var(--surface-warm);border-radius:var(--radius-pill);color:var(--meta);display:inline-flex;height:56px;justify-content:center;width:56px}.new-service-card strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:var(--tracking-display)}.new-service-card span:last-child,.service-footer{color:var(--muted);font-size:var(--text-sm)}.service-footer{align-items:center;background:var(--surface);border-top:1px solid var(--border-soft);justify-content:space-between;min-height:72px;padding:0 var(--container-gutter-desktop);width:100%}.service-footer,.service-footer nav{display:flex;gap:var(--space-6)}.work-page{flex-direction:column;height:100vh;min-height:0;padding:0}.task-title,.work-page{background:var(--bg);display:flex}.task-title{align-items:baseline;column-gap:var(--space-4);flex-direction:row;flex-wrap:wrap;padding:var(--space-5) var(--container-gutter-desktop) var(--space-3);row-gap:4px;width:100%}.task-title-heading{color:var(--fg);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:var(--tracking-display);line-height:1.15;margin:0}.task-title-meta{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);gap:6px;text-decoration:none;transition:color var(--motion-fast) var(--ease-standard)}.task-title-meta:hover{color:var(--accent)}.task-title-meta-url{border-bottom:1px solid var(--border);padding-bottom:1px}.notification-toggle-button{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-2);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:var(--space-2);line-height:1;min-height:36px;padding:8px 14px;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.notification-toggle-button:hover{border-color:var(--fg-2);color:var(--fg)}.notification-toggle-button.is-enabled{background:var(--accent-wash);border-color:color-mix(in oklab,var(--accent),white 50%);color:var(--accent)}.notification-toggle-button:disabled{cursor:not-allowed;opacity:.55}.notification-notice{background:var(--accent-wash);border-bottom:1px solid color-mix(in oklab,var(--accent),white 70%);color:var(--accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;margin:0;padding:10px var(--container-gutter-desktop)}.mini-avatar{align-items:center;background:var(--fg);border-radius:var(--radius-pill);color:var(--bg);display:inline-flex;font-family:var(--font-mono);font-weight:500;justify-content:center}.task-controls{background:var(--bg);border-bottom:1px solid var(--border-soft);gap:var(--space-4);padding:var(--space-3) var(--container-gutter-desktop);width:100%}.task-controls,.task-search{align-items:center;display:flex}.task-search{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--muted);gap:var(--space-3);height:44px;padding:0 var(--space-4);width:320px}.task-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(155,91,50,.12)}.task-search input{background:transparent;border:0;color:var(--fg);min-height:0;outline:0;padding:0}.task-search input::placeholder{color:var(--muted)}.task-control-spacer{flex:1 1}.completed-link{min-width:200px}.task-board{background:var(--bg);flex:1 1;min-height:0;overflow:hidden;padding:var(--space-6)}.kanban{display:grid;grid-gap:var(--space-5);gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));height:100%;min-height:0;overflow-x:auto;padding:0}.kanban-column{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;position:relative;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.kanban-column.is-over{border-color:var(--accent);box-shadow:0 0 0 2px rgba(155,91,50,.18)}.kanban-column:has(.task-card.is-dragging){overflow:visible;z-index:50}.column-header{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;min-height:76px;padding:0 var(--space-5)}.column-header div{align-items:center;display:flex;gap:var(--space-3);min-width:0}.column-header h2{align-items:center;color:var(--fg);display:inline-flex;font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;gap:var(--space-2);letter-spacing:var(--tracking-display);line-height:1.2;margin:0}.is-completion-title{color:var(--muted)}.task-count{align-items:center;background:var(--border-soft);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;height:22px;justify-content:center;min-width:26px;padding:0 8px}.status-dot,.task-count{border-radius:var(--radius-pill)}.status-dot{background:var(--accent);height:8px;width:8px}.task-stack{align-content:start;display:grid;flex:1 1;grid-gap:var(--space-3);gap:var(--space-3);grid-auto-rows:max-content;min-height:0;overflow-y:auto;padding:var(--space-3);position:relative}.task-stack:has(.task-card.is-dragging){overflow:visible;z-index:50}.task-card{align-items:stretch;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);cursor:-webkit-grab;cursor:grab;display:flex;max-height:178px;min-height:132px;overflow:hidden;position:relative;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.task-card:hover{border-color:var(--border);box-shadow:0 1px 0 rgba(32,25,20,.04),0 8px 18px rgba(32,25,20,.06);transform:translateY(-1px)}.task-card.is-dragging{border-color:var(--accent);box-shadow:0 18px 36px rgba(32,25,20,.2);cursor:-webkit-grabbing;cursor:grabbing;z-index:100}.task-card.is-unread{border-color:color-mix(in oklab,var(--accent),white 50%)}.task-card:before{content:none}.task-card.is-unread:before{background:var(--accent);content:"";inset:0 auto 0 0;position:absolute;width:3px}.task-card:has(.priority-chip):before{background:var(--danger);content:"";inset:0 auto 0 0;position:absolute;width:3px}.task-card.is-unread .task-card-body strong{color:var(--fg)}.drag-handle{align-items:center;color:var(--muted);padding:0 8px}.drag-handle,.task-card-body{background:transparent;display:flex;position:relative;z-index:1}.task-card-body{border:0;flex:1 1;flex-direction:column;gap:var(--space-2);min-height:0;min-width:0;overflow:hidden;padding:var(--space-4) var(--space-4) var(--space-3) 0;text-align:left}.task-card-body strong{color:var(--fg);display:-webkit-box;font-family:var(--font-display);font-size:var(--text-base);font-weight:500;-webkit-line-clamp:2;-webkit-box-orient:vertical;letter-spacing:-.01em;line-height:1.3;overflow:hidden}.task-card-body>span:not(.priority-chip){color:var(--fg-2);font-size:var(--text-sm);line-height:1.45}.task-card-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-footer{align-items:center;display:flex;gap:var(--space-2);margin-top:auto;min-width:0}.task-card-footer>span:not(.mini-avatar){color:var(--muted);font-size:var(--text-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-avatar{flex:0 0 auto;font-size:11px;height:26px;width:26px}.task-card small{align-items:center;color:var(--muted);display:flex;font-family:var(--font-mono);font-size:11px;gap:6px;margin-left:auto}.new-comment-pill{align-items:center;align-self:flex-start;background:var(--accent-wash);border:1px solid color-mix(in oklab,var(--accent),white 60%);border-radius:var(--radius-pill);color:var(--accent);display:inline-flex;flex:0 0 auto;font-family:var(--font-body);font-size:11px;font-weight:600;gap:5px;justify-content:center;letter-spacing:.02em;line-height:1;min-height:24px;padding:5px 10px;text-transform:uppercase}.new-comment-pill svg{flex:0 0 auto}.new-comment-pill.is-inline{align-self:auto;font-size:10px;min-height:20px;padding:4px 8px}.priority-chip{align-self:flex-start;background:var(--danger-wash);border-radius:var(--radius-pill);color:var(--danger);font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.12em;line-height:1;padding:5px 9px;text-transform:uppercase}.column-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm);justify-content:center;min-height:200px;text-align:center}.column-empty svg{background:var(--border-soft);border-radius:var(--radius-pill);box-sizing:content-box;color:var(--muted);padding:14px}.add-task-button{align-items:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--fg-2);display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);justify-content:center;margin:var(--space-3) var(--space-3) 0;min-height:42px;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.add-task-button:hover{border-color:var(--accent);color:var(--accent)}.completed-list{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);margin:0;max-width:none;overflow:hidden}.completed-row{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--border-soft);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-4) var(--space-6);text-align:left;transition:background-color var(--motion-fast) var(--ease-standard);width:100%}.completed-row:hover{background:var(--bg)}.completed-row.is-unread{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}.completed-row.is-unread strong{color:var(--fg)}.completed-row:last-child{border-bottom:0}.completed-row span:first-child{display:grid;grid-gap:4px;gap:4px}.completed-row strong{color:var(--fg);font-family:var(--font-display);font-size:var(--text-base);font-weight:500;letter-spacing:-.01em;line-height:1.3}.completed-row small{align-items:center;color:var(--muted);display:inline-flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;gap:6px;letter-spacing:.04em}.detail-meta{color:var(--muted);flex-wrap:wrap;font-size:var(--text-sm);margin-bottom:var(--space-4)}.detail-meta select{max-width:240px}.detail-section-chip{background:var(--accent-wash);border:1px solid color-mix(in oklab,var(--accent),white 60%);border-radius:var(--radius-pill);color:var(--accent);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.06em;padding:4px 10px;text-transform:uppercase}.html-preview{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-base);line-height:var(--leading-body);min-height:140px;overflow-wrap:anywhere;padding:var(--space-4);white-space:pre-wrap}.task-edit-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.task-edit-actions{align-items:center;background:linear-gradient(180deg,color-mix(in oklab,var(--surface),transparent 18%),var(--surface));border-top:1px solid var(--border-soft);bottom:calc(var(--space-6) * -1);display:flex;gap:var(--space-2);justify-content:flex-end;margin:var(--space-1) calc(var(--space-6) * -1) 0;padding:var(--space-3) var(--space-6);position:-webkit-sticky;position:sticky;z-index:2}.comments{margin-top:var(--space-5)}.comments-list{max-height:min(380px,36vh);overflow-y:auto;padding-right:6px}.comments-list .comment-thread:first-child{padding-top:0}.comments-list .comment-thread:last-child{border-bottom:0;padding-bottom:0}.attachments-panel{margin-top:var(--space-5)}.attachments-panel h3,.comments h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:var(--tracking-display);margin:0 0 var(--space-3)}.attachment-carousel{align-items:center;margin-bottom:var(--space-4)}.attachment-carousel,.attachment-scroll{display:flex;gap:var(--space-3);min-width:0}.attachment-scroll{flex:1 1 auto;max-width:100%;overflow-x:auto;scrollbar-width:none}.attachment-scroll::-webkit-scrollbar{display:none}.attachment-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);display:grid;flex:0 0 220px;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:64px minmax(0,1fr) auto}.attachment-add-card,.attachment-card{align-items:center;padding:var(--space-2)}.attachment-add-card{align-self:start;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;display:inline-flex;flex-direction:column;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;gap:6px;height:82px;justify-content:center;text-align:center;width:82px;flex:0 0 82px;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.attachment-add-card:hover{border-color:var(--accent);color:var(--accent)}.attachment-add-card:focus-within{box-shadow:var(--focus-ring);outline:0}.attachment-add-card.is-uploading{cursor:progress;opacity:.72}.attachment-add-icon{height:32px;width:32px}.attachment-add-icon,.attachment-nav-button{align-items:center;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);display:inline-flex;justify-content:center}.attachment-nav-button{color:var(--fg-2);flex:0 0 40px;height:82px;padding:0;width:40px}.attachment-nav-button:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.attachment-nav-button:disabled{cursor:default;opacity:.38}.attachment-preview-button{background:transparent;border:0;border-radius:6px;cursor:pointer;display:block;height:64px;padding:0;position:relative;width:64px}.attachment-preview-button:focus-visible{box-shadow:var(--focus-ring);outline:0}.attachment-preview-image{background:var(--surface-warm);border-radius:6px;height:64px;object-fit:contain;width:64px}.attachment-card div{display:grid;grid-gap:4px;gap:4px;min-width:0}.attachment-card span,.attachment-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-card strong{color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.attachment-card span,.muted-text{color:var(--muted);font-size:var(--text-xs)}.attachment-empty-text{align-self:center;color:var(--muted);flex:1 1 auto;font-size:var(--text-sm);margin:0;min-height:40px}.image-preview-backdrop{align-items:center;background:rgba(32,25,20,.78);display:flex;inset:0;justify-content:center;padding:var(--space-8);position:fixed;z-index:40}.image-preview-modal{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--elev-modal);display:grid;grid-gap:var(--space-3);gap:var(--space-3);max-height:calc(100vh - 56px);max-width:min(1120px,calc(100vw - 56px));padding:var(--space-4)}.image-preview-header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;min-width:0}.image-preview-header strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-frame{background:var(--bg);border-radius:6px;height:min(72vh,720px);max-height:calc(100vh - 148px);max-width:min(1088px,calc(100vw - 88px));position:relative;width:min(1088px,calc(100vw - 88px))}.image-preview-image{object-fit:contain}.selected-files{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:-4px 0 var(--space-3)}.selected-files span{align-items:center;background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);gap:6px;max-width:100%;padding:4px 10px}.compact-field{margin-top:var(--space-3)}.comment,.comment-thread{border-bottom:1px solid var(--border-soft);padding:var(--space-3) 0}.comment-thread>.comment:not(.best-comment){border-bottom:0;padding:0}.comment-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.comment-header strong{color:var(--fg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.comment-header span{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.comment-manage-actions{align-items:center;display:inline-flex;gap:4px;margin-left:auto}.comment p{color:var(--fg);font-size:var(--text-base);line-height:var(--leading-body);margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.comment.is-deleted p{color:var(--muted);font-style:italic}.comment-edit-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.comment-edit-actions{align-items:center;display:flex;gap:var(--space-2);justify-content:flex-end}.comment-edit-actions .ghost-button,.comment-edit-actions .primary-button{min-height:38px;padding:8px var(--space-4)}.best-comment{background:var(--accent-wash);border:1px solid color-mix(in oklab,var(--accent),white 60%);border-radius:var(--radius-sm);margin-bottom:var(--space-3);padding:var(--space-4) var(--space-5)}.best-comment-label{align-items:center;color:var(--accent);display:inline-flex;font-family:var(--font-mono);font-size:11px;font-weight:500;gap:6px;letter-spacing:.1em;margin-bottom:var(--space-2);text-transform:uppercase}.comment-vote-actions{align-items:center;display:flex;gap:var(--space-2);margin-top:var(--space-3)}.comment-reply-button{align-items:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--muted);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;min-height:32px;padding:6px 10px}.comment-reply-button:hover{color:var(--accent)}.reply-form{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-3) 0 0 var(--space-8);padding:var(--space-3)}.reply-form textarea{min-height:64px}.reply-toggle-button{align-items:center;background:transparent;border:0;color:var(--muted);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:6px;margin:var(--space-3) 0 0 var(--space-8);padding:4px 0}.reply-toggle-button:hover{color:var(--accent)}.reply-toggle-button svg{transition:transform var(--motion-fast) var(--ease-standard)}.reply-toggle-button svg.is-collapsed{transform:rotate(-90deg)}.comment-replies{border-left:2px solid var(--border-soft);display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-3) 0 0 var(--space-8);padding-left:var(--space-4)}.reply-comment{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.vote-button{align-items:center;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-pill);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;gap:6px;min-height:30px;min-width:56px;padding:4px 10px;transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.vote-button:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.vote-button.is-selected{background:var(--accent-wash);border-color:color-mix(in oklab,var(--accent),white 60%);color:var(--accent)}.comment-form{align-items:flex-start;display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;margin-top:var(--space-4)}.comment-form textarea{min-height:72px}.comment-form .primary-button{align-self:stretch;min-width:112px;white-space:nowrap}@media (max-width:1023px){.service-content{padding:var(--space-10) var(--container-gutter-tablet) var(--space-8)}.app-header-inner,.service-footer,.task-controls,.task-title{padding-left:var(--container-gutter-tablet);padding-right:var(--container-gutter-tablet)}.task-title{padding-top:var(--space-4);padding-bottom:var(--space-3)}.notification-notice{padding-left:var(--container-gutter-tablet);padding-right:var(--container-gutter-tablet)}}@media (max-width:900px){.page{padding:var(--space-4)}.toolbar,.topbar{align-items:stretch;flex-direction:column}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page{padding:0}.app-header-inner{flex-wrap:wrap;gap:var(--space-3);min-height:0;padding:var(--space-3) var(--container-gutter-phone)}.app-nav{order:3;flex-basis:100%;margin-left:0;overflow-x:auto}.app-session{margin-left:auto}.app-user-name{display:none}.app-user-chip{padding:4px}.service-search{flex-basis:auto;max-width:none;width:100%}.service-toolbar{flex-direction:column;align-items:stretch}.service-content{padding:var(--space-8) var(--container-gutter-phone) var(--space-6)}.service-hero{align-items:stretch;flex-direction:column;gap:var(--space-4)}.service-hero h1{font-size:36px}.service-footer{align-items:flex-start;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--container-gutter-phone)}.service-footer nav{flex-wrap:wrap;gap:var(--space-4)}.modal-grid{grid-template-columns:1fr}.section-manager-modal{padding:var(--space-8) var(--space-6);width:min(100%,calc(100vw - 24px))}.section-manager-header{padding-bottom:var(--space-5)}.section-manager-header h2{font-size:26px}.section-manager-header p{font-size:var(--text-sm)}.section-manager-close{height:44px;width:44px}.section-manager-body{gap:var(--space-4);padding-top:var(--space-6)}.section-manager-list{gap:var(--space-4)}.section-row{gap:var(--space-3);min-height:76px;padding:var(--space-4)}.section-name-button,.section-name-input{font-size:var(--text-lg)}.section-delete-actions{align-items:stretch;grid-template-columns:1fr}.task-title{padding:var(--space-3) var(--container-gutter-phone) var(--space-3)}.task-title-heading{font-size:var(--text-lg)}.task-controls{align-items:stretch;flex-direction:column;padding:var(--space-5) var(--container-gutter-phone)}.completed-link,.notification-toggle-button,.task-search{width:100%}.notification-toggle-button{justify-content:center}.comments-list{max-height:min(340px,42vh)}.task-board{padding:var(--space-5)}.kanban{grid-auto-columns:minmax(280px,86vw);grid-auto-flow:column;grid-template-columns:none;min-height:0;padding-bottom:var(--space-5)}.kanban-column{min-width:280px}}@media (max-width:560px){.service-grid{grid-template-columns:1fr}.comment-form,.inline-edit{align-items:stretch;flex-direction:column}.author-input-row{flex-direction:column}.author-suggest-button{width:100%}.file-picker{align-items:stretch;grid-template-columns:1fr}.file-picker-button{width:100%}.comment-form{grid-template-columns:1fr}.comment-form .primary-button{min-height:44px;width:100%}.section-manager-modal{padding:var(--space-6) var(--space-4)}.section-manager-header{gap:var(--space-3)}.section-manager-close{height:42px;width:42px}.section-row,.section-row.is-editing{align-items:stretch;flex-wrap:wrap;min-height:auto}.section-name-button,.section-name-input{flex-basis:calc(100% - 56px);font-size:var(--text-lg)}.section-row-actions{justify-content:flex-end;width:100%}.section-delete-panel{padding:var(--space-5) var(--space-4)}.section-delete-title strong{font-size:var(--text-lg)}.section-delete-panel p,.section-manager-footer,.section-select-field select{font-size:var(--text-sm)}.section-add-button{font-size:var(--text-base);min-height:58px}}.view-tabs{background:var(--bg);border-bottom:1px solid var(--border-soft);display:flex;padding:var(--space-3) var(--container-gutter-desktop) 0;width:100%}.view-tab,.view-tabs{align-items:center;gap:var(--space-2)}.view-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;margin-bottom:-1px;padding:var(--space-3) var(--space-4);transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.view-tab:hover{color:var(--fg-2)}.view-tab.is-active{border-bottom-color:var(--accent);color:var(--fg)}.view-tab:focus-visible{border-radius:var(--radius-sm);outline:0;box-shadow:var(--focus-ring)}.task-list-wrap{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);height:100%;min-height:0;overflow:auto}.task-list-table{border-collapse:collapse;font-family:var(--font-body);font-size:var(--text-sm);table-layout:fixed;width:100%}.task-list-table thead{background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:1}.task-list-table th:first-child{width:320px}.task-list-table th:nth-child(2){width:auto}.task-list-table th:nth-child(3){width:124px}.task-list-table th:nth-child(4){width:104px}.task-list-table th:nth-child(5),.task-list-table th:nth-child(6),.task-list-table th:nth-child(7){width:132px}.task-list-th{border-bottom:1px solid var(--border-soft);color:var(--muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;overflow:hidden;padding:var(--space-3) var(--space-4);text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.task-list-th.is-right{text-align:right}.task-list-th.is-active{color:var(--accent)}.task-list-sort-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-2);padding:0;text-transform:inherit}.task-list-sort-button:focus-visible{border-radius:var(--radius-sm);outline:0;box-shadow:var(--focus-ring)}.task-list-row{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.task-list-row>td{border-bottom:1px solid var(--border-soft);color:var(--fg-2);overflow-wrap:anywhere;padding:var(--space-3) var(--space-4);vertical-align:top;word-break:break-word}.task-list-row:hover>td{background:var(--bg)}.task-list-row:focus-visible{outline:0}.task-list-row:focus-visible>td:first-child{border-left:2px solid var(--accent)}.task-list-row.is-unread>td:first-child{border-left:2px solid var(--accent)}.task-list-row.task-list-row-skeleton{cursor:default;pointer-events:none}.task-list-title-cell strong{color:var(--fg);display:block;font-family:var(--font-display);font-size:var(--text-base);font-weight:500}.task-list-title-cell .new-comment-pill.is-inline{margin-top:var(--space-1)}.task-list-content-cell{color:var(--muted);font-size:var(--text-sm)}.task-list-content-cell>span{display:block}.task-list-section-chip{background:var(--border-soft);border-radius:var(--radius-pill);color:var(--fg-2);display:inline-block;font-size:var(--text-xs);max-width:100%;padding:2px var(--space-3)}.task-list-date-cell{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-list-empty{color:var(--border)}.task-list-numeric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.task-list-counts{align-items:center;color:var(--muted);display:inline-flex;gap:var(--space-2)}.task-calendar{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-4);height:100%;min-height:0;overflow:auto;padding:var(--space-5)}.task-calendar-header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.task-calendar-nav{align-items:center;display:flex;gap:var(--space-2)}.task-calendar-title{color:var(--fg);font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:var(--tracking-display);margin:0}.task-calendar-today{font-size:var(--text-sm)}.task-calendar-caption{color:var(--muted);font-size:var(--text-xs);margin:0}.task-calendar-grid{display:grid;grid-gap:var(--space-1);gap:var(--space-1);grid-auto-rows:minmax(72px,auto)}.task-calendar-row{display:grid;grid-gap:var(--space-1);gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr))}.task-calendar-weekdays{grid-auto-rows:auto}.task-calendar-weekday{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.task-calendar-cell,.task-calendar-weekday{font-family:var(--font-body);padding:var(--space-2) var(--space-3)}.task-calendar-cell{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2);min-height:72px;text-align:left;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.task-calendar-cell:hover{background:var(--surface);border-color:var(--border)}.task-calendar-cell.is-other-month{color:var(--muted);opacity:.6}.task-calendar-cell.is-today{border-color:var(--accent)}.task-calendar-cell.is-selected{background:var(--surface-warm);border-color:var(--accent)}.task-calendar-cell.has-tasks{background:var(--surface)}.task-calendar-cell:focus-visible{outline:0;box-shadow:var(--focus-ring)}.task-calendar-day-num{font-family:var(--font-display);font-size:var(--text-base);font-weight:500}.task-calendar-cell-skeleton{cursor:default;pointer-events:none}.task-calendar-dots{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px}.task-calendar-dot{background:var(--accent);border-radius:var(--radius-pill);display:inline-block;height:6px;width:6px}.task-calendar-overflow{color:var(--meta);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-calendar-detail{border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.task-calendar-detail header{align-items:baseline;display:flex;gap:var(--space-3);justify-content:space-between}.task-calendar-detail h3{color:var(--fg);font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;margin:0}.task-calendar-detail-count{color:var(--meta);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.task-calendar-empty{color:var(--muted);font-size:var(--text-sm);margin:0}.task-calendar-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.task-calendar-preview-card{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-body);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard);width:100%}.task-calendar-preview-card:hover{background:var(--surface);border-color:var(--border)}.task-calendar-preview-card:focus-visible{box-shadow:var(--focus-ring);outline:0}.task-calendar-preview-card.is-unread{border-color:color-mix(in oklab,var(--accent),white 45%)}.task-calendar-preview-main{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.task-calendar-preview-meta{align-items:center;color:var(--meta);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-2)}.task-calendar-preview-meta time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.task-calendar-preview-card strong{color:var(--fg);font-family:var(--font-display);font-size:var(--text-base);font-weight:500;line-height:1.35;overflow-wrap:anywhere}.task-calendar-preview-text{color:var(--muted);display:-webkit-box;font-size:var(--text-sm);line-height:1.5;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-calendar-preview-footer{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:var(--text-xs);gap:var(--space-3)}.task-calendar-preview-author,.task-calendar-preview-counts{align-items:center;display:inline-flex;gap:var(--space-2)}.task-calendar-preview-counts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:720px){.view-tabs{padding:var(--space-2) var(--container-gutter-phone) 0}.task-list-table th:first-child{width:62%}.task-list-table th:nth-child(3){width:38%}.task-list-row>td:nth-child(2),.task-list-row>td:nth-child(4),.task-list-row>td:nth-child(5),.task-list-row>td:nth-child(6),.task-list-row>td:nth-child(7),.task-list-th:nth-child(2),.task-list-th:nth-child(4),.task-list-th:nth-child(5),.task-list-th:nth-child(6),.task-list-th:nth-child(7){display:none}.task-calendar-cell{min-height:56px;padding:var(--space-1) var(--space-2)}.task-calendar-day-num{font-size:var(--text-sm)}}