:root{--kan-page:#131313;--kan-50:#262626;--kan-100:#1e1e1e;--kan-200:#262626;--kan-300:#333;--kan-400:#444;--kan-600:#4b4b4b;--kan-700:#3a3a3a;--kan-800:#8a8a8a;--kan-900:#191919;--kan-950:#d6d6d6;--kan-1000:#f2f2f2;--kan-border:#313131;--kan-card-border:#333;--accent:#3b82f6}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#444 #191919}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#191919}::-webkit-scrollbar-thumb{background:#444;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}::-webkit-scrollbar-corner{background:#191919}body,html{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--kan-1000);background:var(--kan-page)}a{color:inherit;text-decoration:none}button{font-family:inherit}.pattern-bg{background-image:radial-gradient(circle,rgba(62,62,62,.6) 1px,transparent 1.5px);background-size:15px 15px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--kan-100);border:1px solid var(--kan-border);border-radius:10px;padding:40px;width:100%;max-width:380px;text-align:center}.auth-logo{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.auth-sub{color:var(--kan-800);margin-bottom:24px}.steam-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#1b2838;color:#fff;border:1px solid #3a4a5a;border-radius:6px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .05s ease}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--kan-border)}.topbar-brand{font-size:18px;font-weight:700;letter-spacing:-.01em}.topbar-right{gap:12px}.topbar-right,.topbar-user{display:flex;align-items:center}.topbar-user{gap:8px;font-size:13px;color:var(--kan-950)}.topbar-user img{border-radius:50%;width:26px;height:26px}.link-btn{background:transparent;border:1px solid var(--kan-600);color:var(--kan-1000);border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.container{max-width:1200px;margin:0 auto;padding:24px 20px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.empty-state{color:var(--kan-800)}.board-scene{position:relative;min-height:calc(100vh - 62px);padding:0 12px 20px;display:flex;flex-direction:column}.board-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 12px 0}.board-title{font-size:22px;font-weight:700;letter-spacing:-.02em;background:transparent;border:0;color:var(--kan-1000);padding:4px 6px;border-radius:6px;width:auto;min-width:120px}.board-title:focus{outline:1px solid var(--accent);background:var(--kan-100)}.board-actions{display:flex;align-items:center;gap:8px}.btn-kan{display:inline-flex;align-items:center;gap:6px;background:var(--kan-100);border:1px solid var(--kan-border);color:var(--kan-1000);border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn-kan:hover{background:var(--kan-200)}.btn-kan.primary{background:var(--accent);border-color:var(--accent);color:#fff}.board-filterbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px 4px}.board-search{padding:7px 12px;border-radius:6px;border:1px solid var(--kan-border);background:var(--kan-100);color:var(--kan-1000);font-size:13px;flex:0 1 260px}.filter-labels{display:flex;gap:6px;flex-wrap:wrap}.filter-label{padding:3px 10px;border-radius:999px;border:1px solid var(--kan-600);color:var(--kan-950);font-size:12px;cursor:pointer;opacity:.7}.filter-label.active{outline:2px solid var(--kan-1000);opacity:1}.board-scroll{display:flex;align-items:flex-start;gap:16px;overflow-x:auto;padding:8px 12px 0;flex:1 1;overscroll-behavior:contain}.kanban-column{position:relative;flex:0 0 288px;width:288px;background:var(--kan-100);border:1px solid var(--kan-border);border-radius:8px;padding:8px 6px 8px 8px;display:flex;flex-direction:column;max-height:calc(100vh - 170px)}.col-resize{position:absolute;top:0;right:-6px;bottom:0;width:12px;cursor:col-resize;z-index:5;opacity:0;transition:opacity .12s ease}.kanban-column:hover .col-resize{opacity:.6}.col-resize:hover{opacity:1}.col-resize:after{content:"";position:absolute;top:50%;right:5px;transform:translateY(-50%);width:3px;height:28px;background:var(--kan-600);border-radius:2px}.list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.list-title{flex:1 1;font-weight:500;font-size:13px;color:var(--kan-1000);background:transparent;border:0;padding:4px 10px;border-radius:4px}.list-title:focus{outline:none;background:hsla(0,0%,100%,.06)}.list-toolbar{display:flex;align-items:center}.list-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;background:transparent;color:var(--kan-800);border-radius:6px;cursor:pointer;font-size:16px;line-height:1}.list-icon-btn:hover{background:var(--kan-200);color:var(--kan-1000)}.cards-area{flex:1 1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:8px;padding:0 2px 2px 0}.cards-area.dragover{outline:2px dashed var(--accent);border-radius:6px}.kanban-card{display:flex;flex-direction:column;gap:4px;background:var(--kan-200);border:1px solid var(--kan-card-border);border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.kanban-card.dragging{opacity:.5}.ticket{font-size:11px;color:var(--kan-800)}.card-title-text{overflow-wrap:anywhere;color:var(--kan-1000)}.card-cover{width:100%;height:180px;object-fit:cover;border-radius:6px;margin-bottom:6px;display:block}.card-cover.half{height:70px}.text-separator{border-top:2px solid #5a5a5a;width:100%;margin:10px 0}.card-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-size:12px;text-decoration:none;margin-top:2px}.card-link:hover,.inline-link{text-decoration:underline}.inline-link{color:var(--accent)}.pop-x{color:var(--kan-800);background:transparent;border:1px solid var(--kan-border);border-radius:5px;width:22px;height:22px;line-height:1;font-size:14px;cursor:pointer}.pop-x:hover{color:var(--kan-1100);border-color:var(--kan-700)}.kanban-card{position:relative}.kanban-card.img-full{min-height:132px;justify-content:flex-end}.kanban-card.img-full>:not(.card-img-bg):not(.card-img-overlay){position:relative;z-index:1}.card-img-bg{background-size:cover;background-position:50%}.card-img-bg,.card-img-overlay{position:absolute;inset:0;z-index:0;border-radius:8px}.card-img-overlay{background:linear-gradient(0deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.15) 45%)}.card-labels{display:flex;flex-wrap:wrap;gap:4px;max-height:44px;overflow-y:auto}.label-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--kan-600);color:var(--kan-1000);max-width:-moz-fit-content;max-width:fit-content}.label-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.card-meta-row{justify-content:space-between;margin-top:4px}.card-meta-row,.meta-left{display:flex;align-items:center;gap:8px}.meta-left{color:var(--kan-800);font-size:12px}.meta-icon{gap:3px}.checklist-pill,.meta-icon{display:inline-flex;align-items:center}.checklist-pill{gap:5px;border:1px solid var(--kan-border);border-radius:999px;padding:1px 8px;font-size:10px;color:var(--kan-950)}.ring{width:12px;height:12px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--kan-border) 0);position:relative}.ring:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--kan-200)}.avatar-stack{display:flex}.avatar-stack>*{margin-left:-4px;border:2px solid var(--kan-200)}.avatar-stack>:first-child{margin-left:0}.avatar-sm{object-fit:cover}.avatar-initials,.avatar-sm{width:22px;height:22px;border-radius:50%;flex-shrink:0}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--kan-400);color:#fff;font-size:9px;font-weight:600;text-transform:uppercase}.new-column{flex:0 0 288px;width:288px;border:1px dashed var(--kan-border);border-radius:8px;background:hsla(0,0%,100%,.03);padding:8px;align-self:stretch}.add-list-btn{display:inline-flex;align-items:center;gap:6px;width:100%;background:hsla(0,0%,100%,.04);border:0;border-radius:6px;color:var(--kan-800);padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;text-align:left}.modal-mask{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}.card-detail{background:var(--kan-100);color:var(--kan-1000);min-height:60vh;width:100%;max-width:720px;border-radius:10px}.card-detail-head{padding:22px 24px 14px;border-bottom:1px solid var(--kan-border)}.card-detail-head-row{display:flex;gap:14px;align-items:flex-start}.detail-title-input{font-weight:700;font-size:20px;letter-spacing:-.01em;background:transparent;color:var(--kan-1000);border:0;padding:0;width:100%}.detail-title-input:focus{outline:none}.card-detail-body{display:flex;gap:24px;padding:18px 24px}.card-detail-main{flex:1 1 auto;min-width:0}.card-detail-side{flex:0 0 170px}.detail-block{margin-bottom:20px}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--kan-800);margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-detail .text-input,.card-detail input[type=text],.card-detail textarea{background:var(--kan-200);color:var(--kan-1000);border:1px solid var(--kan-700);border-radius:6px;padding:8px 10px;font-size:13px;width:100%;font-family:inherit}.card-detail input::placeholder,.card-detail textarea::placeholder{color:var(--kan-800)}.detail-action{width:100%;margin-bottom:8px;border-radius:6px;border:1px solid var(--kan-700);background:var(--kan-900);color:var(--kan-1000);font-size:13px;font-weight:600;padding:8px 12px;text-align:left;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.detail-action.danger{color:#ff6b6b}.checklist{display:flex;flex-direction:column;gap:6px}.checklist-group{flex-direction:column;gap:4px;border:1px solid var(--kan-700);padding:8px 10px;margin-bottom:4px}.checklist-group,.checklist-item{display:flex;background:var(--kan-900);border-radius:6px}.checklist-item{align-items:center;gap:8px;padding:6px 8px}.checklist-content{flex:1 1;overflow-wrap:anywhere}.checklist-content.done{text-decoration:line-through;color:var(--kan-800)}.comment-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--kan-700)}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.comment-meta{font-size:12px}.sub-modal{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px}.sub-modal-card{background:var(--kan-900);color:var(--kan-1000);width:100%;max-width:420px;border-radius:10px;padding:18px}.sub-modal-head{justify-content:space-between;margin-bottom:12px}.select-row,.sub-modal-head{display:flex;align-items:center}.select-row{gap:10px;padding:9px 10px;border-radius:6px;border:1px solid var(--kan-border);margin-bottom:6px;cursor:pointer;background:var(--kan-100)}.select-row:hover{background:var(--kan-200)}.select-row.active{border-color:var(--accent)}.icon-btn{background:transparent;border:0;color:var(--kan-800);cursor:pointer;font-size:16px}.icon-btn:hover{color:var(--kan-1000)}.small-input{padding:7px 10px;font-size:13px}.btn-ghost,.small-input{border-radius:6px;border:1px solid var(--kan-border);background:var(--kan-100);color:var(--kan-1000)}.btn-ghost{padding:6px 10px;font-size:12px;cursor:pointer;font-weight:500}.btn-ghost:hover{background:var(--kan-200)}.board-grid>a{transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,background .15s ease}.board-grid>a:hover{background:var(--kan-200);border-color:var(--accent);box-shadow:0 0 20px rgba(59,130,246,.25),0 0 40px rgba(59,130,246,.08);transform:translateY(-2px)}.btn-kan.primary{transition:background .15s ease,box-shadow .2s ease,transform .1s ease}.btn-kan.primary:hover{background:#2e6fd8;box-shadow:0 0 14px rgba(59,130,246,.5),0 0 30px rgba(59,130,246,.15);transform:translateY(-1px)}.btn-kan.primary:active{transform:translateY(0);box-shadow:0 0 8px rgba(59,130,246,.3)}.steam-btn{transition:background .15s ease,box-shadow .2s ease,transform .1s ease}.steam-btn:hover{background:#2a475e;box-shadow:0 0 18px rgba(59,130,246,.35),0 0 35px rgba(59,130,246,.1);transform:translateY(-1px)}.steam-btn:active{transform:translateY(0)}.link-btn{transition:background .15s ease,box-shadow .2s ease,border-color .15s ease}.link-btn:hover{background:var(--kan-200);border-color:rgba(59,130,246,.5);box-shadow:0 0 10px rgba(59,130,246,.15)}.board-grid .link-btn[style*=f87171]:hover,.board-grid span.link-btn:hover{background:hsla(0,91%,71%,.1);box-shadow:0 0 12px hsla(0,91%,71%,.35)}button[type=submit]{transition:background .15s ease,box-shadow .2s ease,transform .1s ease}button[type=submit]:hover:not(:disabled){box-shadow:0 0 14px rgba(59,130,246,.5),0 0 30px rgba(59,130,246,.15);transform:translateY(-1px)}button[type=submit]:active:not(:disabled){transform:translateY(0)}.add-list-btn{transition:background .15s ease,color .15s ease,box-shadow .2s ease}.add-list-btn:hover{background:var(--kan-200);color:var(--kan-1000);box-shadow:0 0 10px rgba(59,130,246,.12)}.detail-action{transition:background .15s ease,box-shadow .2s ease}.detail-action:hover{background:var(--kan-800);box-shadow:0 0 10px rgba(59,130,246,.12)}.detail-action.danger:hover{background:hsla(0,91%,71%,.12);box-shadow:0 0 12px hsla(0,91%,71%,.3)}.board-title:focus{box-shadow:0 0 0 2px rgba(59,130,246,.4)}.kanban-card{transition:background .12s ease,border-color .12s ease,box-shadow .2s ease,transform .1s ease}.kanban-card:hover{background:var(--kan-300);border-color:rgba(59,130,246,.3);box-shadow:0 0 12px rgba(59,130,246,.12);transform:translateY(-1px)}.board-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 10px rgba(59,130,246,.25)}.filter-label{transition:opacity .15s ease,box-shadow .2s ease,border-color .15s ease}.filter-label:hover{opacity:.9;border-color:var(--accent)}.filter-label.active{border-color:var(--accent);box-shadow:0 0 8px rgba(59,130,246,.2)}.auth-card .steam-btn:hover{box-shadow:0 0 20px rgba(59,130,246,.35),0 0 40px rgba(59,130,246,.1)}.sub-modal-card{max-height:min(80vh,640px);overflow-y:auto}.sub-modal-head{position:-webkit-sticky;position:sticky;top:0;background:var(--kan-900);z-index:1;padding-bottom:6px;border-bottom:1px solid var(--kan-border);margin-bottom:10px}html{background-color:var(--kan-page);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l26 15v30L30 60 4 45V15z' fill='none' stroke='%23ffffff' stroke-opacity='0.18'/%3E%3C/svg%3E");background-size:60px 60px;background-attachment:fixed;background-repeat:repeat}body{background:transparent}.topbar{background:var(--kan-page)}.kanban-card.img-full{min-height:auto;justify-content:flex-start}.card-cover-full{height:auto;max-height:280px;object-fit:contain;background:var(--kan-page)}.legal-screen{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 64px}.legal-card{background:var(--kan-100);border:1px solid var(--kan-border);border-radius:10px;padding:40px;width:100%;max-width:760px;text-align:left}.legal-back{display:inline-block;color:var(--kan-800);margin-bottom:20px;font-size:14px}.legal-back:hover{color:#1b6a8a;text-decoration:underline}.legal-card h1{font-size:26px;font-weight:700;margin:0 0 24px}.legal-card h2{font-size:20px;font-weight:700;margin:28px 0 10px}.legal-card p{line-height:1.65;color:var(--kan-800);margin:0 0 12px}.legal-link{color:#1b6a8a;text-decoration:underline}.legal-note{margin-top:28px}.auth-foot,.legal-note{font-size:13px;color:var(--kan-800)}.auth-foot{margin-top:18px}.auth-foot .legal-link:hover{text-decoration:underline}