:root{--bg:#f3f6f2;--ink:#20242c;--dim:#63697a;--card:#fff;--accent:#ff7b54;--green:#3f9d58;--red:#ff5a48;--amber:#ffb020;--blue:#4f8ef7;--gray:#b8bdc7;--green-text:#2f7a42;--red-text:#cc3524;--blue-text:#3169cc;--font:"Arial Rounded MT Bold", ui-rounded, "Segoe UI", Roboto, sans-serif;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:20px;--fs-3xl:28px;--lh-body:1.5;--lh-tight:1.3;--lh-flat:1;--measure:70ch;--dur-0:66ms;--dur-1:.132s;--dur-2:.198s;--dur-3:.264s;--ease-out:cubic-bezier(.22, .8, .3, 1);--ease-pop:cubic-bezier(.25, .9, .3, 1.12);--ctl-h:36px;--tap:24px;--hit:40px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--ink)}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior-x:none;font-family:var(--font);margin:0;overflow-x:hidden}#root{height:100%}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--dim) transparent}}::-webkit-scrollbar{width:var(--sp-2);height:var(--sp-2)}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-track{background:0 0;border:0}::-webkit-scrollbar-thumb{background-color:var(--dim);background-clip:padding-box;border:1px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--ink)}::-webkit-scrollbar-corner{background:0 0}.app-shell{box-sizing:border-box;flex-direction:column;height:100dvh;display:flex}.app-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-2);flex:none;display:flex}.app-header h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);margin:0;font-weight:800}.hactions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;align-items:baseline;display:flex}.app-header button{font:inherit;font-size:var(--fs-sm);font-weight:800;line-height:var(--lh-tight);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-3);min-height:var(--tap);cursor:pointer;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:10px}.app-header button,.modal .actions button,.gate-btn{transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), opacity var(--dur-1) var(--ease-out) var(--dur-1)}.app-header button:active,.modal .actions button:active,.gate-btn:active{transition-duration:var(--dur-0)}.app-header button:hover:not(:disabled,:active){box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.app-header button:active{box-shadow:none;transform:translate(2px,2px)}.app-header button.reconnect{background:var(--amber);animation:kb-rise var(--dur-2) var(--ease-out)}.streak{font-weight:800;font-size:var(--fs-md);color:var(--green-text)}.notice{animation:kb-rise var(--dur-2) var(--ease-out);align-items:flex-start;gap:var(--sp-2);margin:0 var(--sp-4) var(--sp-1);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);line-height:var(--lh-body);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff6cf;border-radius:12px;flex:none;font-weight:700;display:flex}.notice span{flex:1}.notice button{min-width:var(--tap);min-height:var(--tap);font:inherit;font-weight:800;line-height:var(--lh-flat);color:var(--ink);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.board{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);scroll-snap-type:x proximity;box-sizing:border-box;flex:auto;align-items:stretch;min-height:200px;display:flex;overflow:auto hidden}.col{scroll-snap-align:start;border:2px solid var(--ink);min-width:260px;padding:0 var(--sp-3) var(--sp-3);box-sizing:border-box;overscroll-behavior:contain;border-radius:20px;flex:1 1 0;min-height:110px;transition:background .15s;overflow:hidden auto}@media (width<=640px){.col{flex:0 0 min(84vw,340px);min-width:0}}.col.todo{background:#ffe4d3}.col.doing{background:#dcebff}.col.done{background:#dcf3dc}.col.cancelled{background:#e6e4ea}.col.over{filter:brightness(1.06);box-shadow:0 0 0 3px var(--ink) inset}.slot{border:2px dashed var(--ink);box-sizing:border-box;background:#20242c0f;border-radius:14px;flex:none}.colhead{align-items:center;gap:var(--sp-2);z-index:1;margin:0 calc(-1 * var(--sp-3));padding:var(--sp-3) var(--sp-3) var(--sp-2);background:inherit;font-weight:800;font-size:var(--fs-lg);border-radius:18px 18px 0 0;display:flex;position:sticky;top:0}.colhead h2{font:inherit;line-height:var(--lh-tight);margin:0}.colhead .cnt{font-size:var(--fs-xs);line-height:var(--lh-tight);background:var(--ink);color:#fff;padding:var(--sp-1) var(--sp-2);border-radius:999px}.addbtn{width:var(--tap);height:var(--tap);border:2px solid var(--ink);color:var(--ink);font:inherit;font-size:var(--fs-lg);font-weight:800;line-height:var(--lh-flat);cursor:pointer;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex;position:relative}.addbtn:active{box-shadow:none;transform:translate(2px,2px)}.addbtn:after{content:"";width:var(--hit);height:var(--hit);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cards{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card{--card-indent:calc(var(--sp-6) + var(--sp-1));gap:var(--sp-2);background:var(--card);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:var(--sp-3);-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:grab;scroll-margin:var(--sp-12) 0 var(--sp-8);border-radius:14px;flex-direction:column;display:flex;position:relative}.card:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.card.lifted{outline:3px dashed var(--ink);outline-offset:3px;box-shadow:8px 8px 0 var(--ink)}.check:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:8px}.card .grip{touch-action:none;color:var(--dim);font-size:var(--fs-lg);line-height:var(--lh-tight);cursor:grab;flex:none;position:relative}.card .grip:after{content:"";min-width:var(--hit);min-height:var(--hit);width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card .grip:active{cursor:grabbing}.dragwrap{z-index:20;pointer-events:none;will-change:transform;position:fixed}.card.dragclone{pointer-events:none;cursor:grabbing;margin:0;transition:none;transform:rotate(3deg);box-shadow:10px 14px #20242c59}.card .head{gap:var(--sp-2);flex-wrap:wrap;align-items:flex-start;display:flex}.card .emo{font-size:var(--fs-xl);line-height:var(--lh-tight);flex:none}.card .t{font-weight:800;font-size:var(--fs-lg);line-height:var(--lh-tight);overflow-wrap:anywhere;flex:1;min-width:0}.card .age{font-size:var(--fs-xs);color:var(--dim);font-weight:700;line-height:var(--lh-tight);flex:none}.card .desc{color:var(--dim);font-size:var(--fs-sm);line-height:var(--lh-body);max-width:var(--measure);padding-left:var(--card-indent);margin:0;font-weight:600}.card .desc strong{color:var(--ink)}.card .desc code,.check code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-xs);color:var(--ink);padding:0 var(--sp-1);background:#e9edf2;border:1px solid #d5d9df;border-radius:5px}.card .desc a,.check a{color:var(--blue-text);text-underline-offset:2px;font-weight:800;text-decoration:underline}.card .desc .dline.bullet{gap:var(--sp-1);display:flex}.card .desc .bdot{color:var(--gray)}.prog{align-items:center;gap:var(--sp-2);padding-left:var(--card-indent);margin:0;display:flex}.bar{border:2px solid var(--ink);background:#fff;border-radius:999px;flex:1;height:10px;overflow:hidden}.bar i{background:var(--green);border-radius:999px;height:100%;transition:width .35s cubic-bezier(.2,.9,.3,1.2);display:block}.prog .pct{font-size:var(--fs-xs);color:var(--dim);font-weight:800}.chev{border:2px solid var(--ink);width:20px;height:20px;font:inherit;font-size:var(--fs-xs);color:var(--ink);line-height:var(--lh-flat);cursor:pointer;background:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .25s;display:flex;position:relative}.chev:after{content:"";width:var(--hit);height:var(--hit);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card.open .chev{transform:rotate(180deg)}.checks{max-height:0;padding-left:var(--card-indent);transition:max-height .3s cubic-bezier(.2,.9,.3,1);overflow:hidden}.card:not(.open) .checks{margin-top:calc(-1 * var(--sp-2))}.check{gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--fs-sm);line-height:var(--lh-body);cursor:pointer;align-items:center;font-weight:700;display:flex}.check .bx{border:2px solid var(--ink);width:16px;height:16px;font-size:var(--fs-xs);line-height:var(--lh-flat);color:#fff;background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.check.on .bx{background:var(--green)}.check.on span{color:var(--dim);text-decoration:line-through}.meta{gap:var(--sp-1);padding-left:var(--card-indent);flex-wrap:wrap;align-items:center;margin:0;display:flex}.chip{font-size:var(--fs-xs);line-height:var(--lh-tight);padding:var(--sp-1) var(--sp-2);border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;font-weight:800}.chip.due{background:#e2f4e0}.chip.ovd{background:#ffe0dc}.chip.eff{background:#fff}.tag{font-size:var(--fs-xs);line-height:var(--lh-tight);padding:var(--sp-1) var(--sp-2);color:var(--ink);border-radius:999px;font-weight:800}.slabel{font-size:var(--fs-xs);line-height:var(--lh-tight);border:1.5px solid var(--ink);border-radius:999px;font-weight:800;display:inline-flex;overflow:hidden}.slabel .k{background:var(--ink);color:#fff;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-3)}.slabel .v{color:var(--ink);padding:var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2)}.pdot{border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px}.pdot[data-prio="1"]{border-radius:2px;transform:rotate(45deg)}.pdot[data-prio="2"]{border-radius:2px}.pdot[data-prio="4"]{border-radius:999px;width:14px;height:7px}.card.done-card .t{color:var(--dim);text-decoration:line-through}.card.blocked-card{background-image:repeating-linear-gradient(45deg,#20242c12 0 6px,#0000 6px 12px);border-style:dashed}.chip.blk{background:var(--amber)}.card.cancelled-card .t{color:var(--dim);text-decoration:line-through}.cardacts{gap:var(--sp-2);padding-left:var(--card-indent);flex-wrap:wrap;margin:0;display:flex}.cardacts button{font:inherit;font-size:var(--fs-xs);font-weight:800;line-height:var(--lh-tight);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-2);min-height:var(--tap);cursor:pointer;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:9px}.cardacts button:active{box-shadow:none;transform:translate(2px,2px)}.cardacts .purge{background:var(--red)}.foot{text-align:center;padding:var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-tight);color:var(--dim);background:linear-gradient(transparent, var(--bg) 45%);pointer-events:none;flex:none;font-weight:700}.fx{pointer-events:none;z-index:30;position:fixed;inset:0}@keyframes kb-fade{0%{opacity:0}}@keyframes kb-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes kb-drop{0%{opacity:0;transform:translateY(-6px)scale(.98)}}@keyframes kb-rise{0%{opacity:0;transform:translateY(4px)}}.modal-backdrop{z-index:40;animation:kb-fade var(--dur-2) var(--ease-out);padding:var(--sp-4);background:#20242c73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);animation:kb-pop var(--dur-3) var(--ease-pop);box-sizing:border-box;width:min(920px,92vw);max-height:92vh;padding:var(--sp-4);background:#fff;border-radius:16px;overflow-y:auto}.modal.settings{width:min(680px,92vw)}.modal.ship{width:min(520px,92vw)}.modal.confirm{width:min(460px,92vw)}.modal.adr{width:min(760px,92vw)}.modal h2{margin:0 0 var(--sp-1);font-size:var(--fs-xl);line-height:var(--lh-tight);font-weight:800}.modal h3{margin:var(--sp-4) 0 0;padding-top:var(--sp-3);border-top:2px solid var(--gray);font-size:var(--fs-md);line-height:var(--lh-tight);font-weight:800}.modal label{font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:var(--sp-3) 0 var(--sp-1);font-weight:800;display:block}.modal input,.modal select,.modal textarea{box-sizing:border-box;width:100%;min-height:var(--ctl-h);font:inherit;font-size:var(--fs-md);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-2) var(--sp-3);background:#fff;border-radius:10px;font-weight:600}.modal input:focus,.modal select:focus,.modal textarea:focus{box-shadow:2px 2px 0 var(--ink);outline:none}.modal input:focus-visible,.modal select:focus-visible,.modal textarea:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.modal textarea{resize:vertical;line-height:var(--lh-body);min-height:calc(var(--sp-12) + var(--sp-4))}.modal select,.debug select,.storyrow select{appearance:none;padding-right:var(--sp-8);background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 18px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.modal input[type=date]{font-variant-numeric:tabular-nums}.modal input[type=date]::-webkit-datetime-edit{color:var(--ink)}.modal input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.modal input[type=date]::-webkit-datetime-edit-text{color:var(--dim)}.modal input[type=date]::-webkit-datetime-edit-day-field:not([aria-valuenow]){color:var(--dim)}.modal input[type=date]::-webkit-datetime-edit-month-field:not([aria-valuenow]){color:var(--dim)}.modal input[type=date]::-webkit-datetime-edit-year-field:not([aria-valuenow]){color:var(--dim)}.modal input[type=date]::-webkit-calendar-picker-indicator{display:none}.datefield{gap:var(--sp-1);display:flex;position:relative}.datefield input{flex:1;min-width:0}.datebtn{box-sizing:border-box;width:var(--ctl-h);min-height:var(--ctl-h);font:inherit;font-size:var(--fs-lg);line-height:var(--lh-flat);color:var(--ink);border:2px solid var(--ink);cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:#fff;border-radius:10px;flex:none}.datebtn:hover{background:#ffe4d3}.datebtn:active{background:var(--accent)}.datepop{top:calc(100% + var(--sp-1));z-index:7;transform-origin:100% 0;animation:kb-drop var(--dur-2) var(--ease-pop);padding:var(--sp-2);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:14px;width:max-content;max-width:min(300px,84vw);position:absolute;right:0}.datepop .dhead{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.datepop .dhead strong{text-align:center;font-size:var(--fs-md);line-height:var(--lh-tight);flex:1;font-weight:800}.datepop .dhead button,.datepop .dfoot button{font:inherit;font-size:var(--fs-md);font-weight:800;line-height:var(--lh-flat);color:var(--ink);border:2px solid var(--ink);min-width:var(--ctl-h);min-height:28px;padding:0 var(--sp-2);cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:#fff;border-radius:8px}.datepop .dhead button:hover,.datepop .dfoot button:hover{background:var(--bg)}.datepop .dgrid{grid-template-columns:repeat(7,minmax(28px,36px));gap:2px;display:grid}.datepop .dwd{text-align:center;font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);padding:var(--sp-1) 0;font-weight:800}.datepop .dday{box-sizing:border-box;min-height:32px;font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:700;line-height:var(--lh-flat);color:var(--ink);cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:#fff;border:2px solid #0000;border-radius:8px}.datepop .dday:hover{background:var(--bg)}.datepop .dday.out{color:var(--dim);font-weight:600}.datepop .dday.today{border-color:var(--ink)}.datepop .dday.sel{background:var(--accent);border-color:var(--ink);color:var(--ink)}.datepop .dfoot{gap:var(--sp-1);margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:2px solid var(--gray);display:flex}.modal #f-desc{min-height:168px}.modal #f-checks{min-height:110px}.mrow{gap:var(--sp-3);display:flex}.mrow>*{flex:1;min-width:0}.mrow>.emoji{flex:0 0 84px}@media (width<=480px){.mrow{flex-wrap:wrap}.mrow>*{flex:40%}.mrow>.emoji{flex:0 0 84px}}.modal .checkline{align-items:center;gap:var(--sp-2);min-height:var(--tap);text-transform:none;letter-spacing:0;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;display:flex}.modal .checkline input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--ink);flex:none;padding:0}.modal input[type=file]{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm)}.modal input[type=file]::file-selector-button{font:inherit;font-size:var(--fs-xs);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-2);min-height:var(--tap);margin-right:var(--sp-2);cursor:pointer;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:8px;font-weight:800}.modal input[type=file]::file-selector-button:active{box-shadow:none;transform:translate(2px,2px)}.emojifield{gap:var(--sp-1);flex-wrap:wrap;display:flex;position:relative}.emojinote{margin:var(--sp-1) 0 0;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--red-text);flex:1 0 100%;font-weight:700}.emojibtn{box-sizing:border-box;min-width:0;min-height:var(--ctl-h);font:inherit;font-size:var(--fs-2xl);line-height:var(--lh-flat);text-align:center;color:var(--ink);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-2);cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:#fff;border-radius:10px;flex:1}.emojibtn:hover{background:var(--bg)}.emojibtn.empty{font-size:var(--fs-xl);color:var(--dim)}.emojifoot{padding:var(--sp-2);border-top:2px solid var(--gray);display:flex}.emojifoot button{font:inherit;font-size:var(--fs-sm);font-weight:800;line-height:var(--lh-flat);color:var(--ink);border:2px solid var(--ink);min-height:28px;padding:0 var(--sp-2);cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:#fff;border-radius:8px}.emojifoot button:hover{background:var(--bg)}.emojipop{top:calc(100% + var(--sp-1));z-index:7;transform-origin:0 0;animation:kb-drop var(--dur-2) var(--ease-pop);border:2px solid var(--ink);max-width:min(352px,84vw);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:14px;position:absolute;left:0;overflow:hidden}.emojipop em-emoji-picker{--rgb-background:255, 255, 255;--rgb-color:32, 36, 44;--rgb-input:255, 255, 255;--rgb-accent:255, 123, 84;--color-border:#20242c1f;--color-border-over:#20242c47;--font-family:var(--font);--font-size:var(--fs-md);--border-radius:12px;--shadow:none;height:min(380px,44vh)}.emojipop .mnote{padding:var(--sp-2) var(--sp-3);margin:0}.storylist{max-height:46vh;margin-top:var(--sp-2);padding-right:var(--sp-1);gap:var(--sp-2);flex-direction:column;display:flex;overflow-y:auto}.storyrow{align-items:center;gap:var(--sp-2);display:flex}.storyrow input[type=checkbox]{width:var(--tap);height:var(--tap);min-height:0;accent-color:var(--ink);flex:none;padding:0}.storyrow>input{flex:1;min-width:0}.storyrow>select{flex:0 0 72px}.modal #f-adr{min-height:200px}.modal .actions{gap:var(--sp-2);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:2px solid var(--gray);flex-wrap:wrap;align-items:center;display:flex}.modal .actions:last-child{bottom:calc(-1 * var(--sp-4));margin-bottom:calc(-1 * var(--sp-4));padding-bottom:var(--sp-4);background:#fff;position:sticky}.modal .actions button{font:inherit;font-size:var(--fs-md);font-weight:800;line-height:var(--lh-tight);border:2px solid var(--ink);padding:var(--sp-2) var(--sp-4);min-height:var(--ctl-h);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:10px}.modal .actions button:hover:not(:disabled,:active){box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.modal .actions button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.modal .actions .save{background:var(--green);min-width:104px;margin-left:auto}.modal .actions .test{min-width:148px}.modal .actions .cancel-split{min-width:118px}.modal .actions .save.propose{min-width:152px}.modal .actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:3px 3px 0 var(--ink);transform:none}.modal .actions .save.danger,.modal .actions .del{background:var(--red)}.labelbox{position:relative}.labelchips{box-sizing:border-box;align-items:center;gap:var(--sp-1);width:100%;min-height:var(--ctl-h);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-2);cursor:text;background:#fff;border-radius:10px;flex-wrap:wrap;display:flex}.labelchips:focus-within{box-shadow:2px 2px 0 var(--ink)}.modal .labelchips input{width:auto;min-width:90px;min-height:var(--tap);padding:var(--sp-1);border:none;border-radius:0;flex:1}.modal .labelchips input:focus{box-shadow:none}.labelchips .tag,.labelchips .slabel,.labelchips .slabel .k,.labelchips .slabel .v{min-height:var(--tap);flex:none;align-items:center;padding-block:0;display:inline-flex}.labelchips .tag,.labelchips .slabel .v{padding-right:0}.labelchips .rm{width:var(--tap);height:var(--tap);color:inherit;font:inherit;font-weight:800;font-size:var(--fs-xs);line-height:var(--lh-flat);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.labeldrop{left:0;right:0;top:calc(100% + var(--sp-1));z-index:5;transform-origin:top;animation:kb-drop var(--dur-2) var(--ease-pop);padding:var(--sp-1);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:10px;max-height:180px;margin:0;list-style:none;position:absolute;overflow-y:auto}.labeldrop li{min-height:var(--tap);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);cursor:pointer;border-radius:7px;align-items:center;font-weight:700;display:flex}.labeldrop li.hi{background:var(--ink);color:#fff}.ai-box{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:var(--sp-1) var(--sp-3) var(--sp-3);margin-top:var(--sp-3);background:#fff4ec;border-radius:12px}.ai-box textarea{min-height:var(--sp-12)}.ai-row{align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.ai-go{font:inherit;font-size:var(--fs-sm);font-weight:800;line-height:var(--lh-tight);border:2px solid var(--ink);padding:var(--sp-2) var(--sp-3);min-height:var(--ctl-h);background:var(--accent);color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);border-radius:10px}.ai-go:active{box-shadow:none;transform:translate(2px,2px)}.ai-go:disabled{opacity:.45;cursor:not-allowed;box-shadow:2px 2px 0 var(--ink);transform:none}.ai-go{min-width:72px}.ai-note{font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--dim);font-weight:700}.ai-note.flash{font-size:var(--fs-xs);animation:kb-rise var(--dur-2) var(--ease-out);margin:0}.busy{align-items:center;gap:var(--sp-2);color:var(--dim);display:inline-flex}.busy:before{content:"";box-sizing:border-box;border:1.5px solid var(--ink);background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:1.1s ease-in-out infinite kb-pulse}@keyframes kb-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.modal [inert]{opacity:.55}.modal form,.modal .mrow,.modal input,.modal select,.modal textarea{transition:opacity var(--dur-1) var(--ease-out) var(--dur-1)}.modal input:disabled,.modal select:disabled,.modal textarea:disabled{opacity:.55;cursor:not-allowed}.flash{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:var(--lh-body);animation:kb-rise var(--dur-2) var(--ease-out);font-weight:700}.actions .statusline{text-align:right;flex:140px;min-width:0}.statusline .flash{-webkit-line-clamp:2;animation:kb-rise var(--dur-2) var(--ease-out);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.flash.ok{color:var(--green-text)}.flash.err{color:var(--red-text)}.mnote{margin:var(--sp-2) 0 0;max-width:var(--measure);font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--dim);font-weight:700}.mnote code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-xs);color:var(--ink);padding:0 var(--sp-1);overflow-wrap:anywhere;background:#e9edf2;border:1px solid #d5d9df;border-radius:5px}.who{font-size:var(--fs-sm);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:26ch;font-weight:700;overflow:hidden}.dot{box-sizing:border-box;border:1.5px solid var(--ink);border-radius:50%;flex:none;align-self:center;width:10px;height:10px}.dot.ok{background:var(--green)}.dot.error{background:var(--red);border-radius:2px}.dot.expired{background:var(--amber);border-radius:2px;transform:rotate(45deg)}.dot.off{background:#fff}.debug{right:var(--sp-3);bottom:var(--sp-3);z-index:35;box-sizing:border-box;width:232px;max-width:calc(100vw - var(--sp-6));gap:var(--sp-1);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:var(--sp-3);font-size:var(--fs-xs);background:#fff;border-radius:14px;flex-direction:column;font-weight:700;display:flex;position:fixed}.debug-row{align-items:center;gap:var(--sp-2);display:flex}.debug-title{font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.debug-row .k{color:var(--dim)}.debug-row .v{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.debug-row .v.yes{color:var(--green-text)}.debug-row .v.no{color:var(--dim)}.debug-x{min-width:var(--tap);min-height:var(--tap);font:inherit;font-size:var(--fs-md);font-weight:800;line-height:var(--lh-flat);color:var(--ink);border:2px solid var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.debug-x:active{box-shadow:none;transform:translate(2px,2px)}.debug label{font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:var(--sp-2) 0 0;font-weight:800;display:block}.debug select{box-sizing:border-box;width:100%;min-height:var(--ctl-h);font:inherit;font-size:var(--fs-sm);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-1) var(--sp-2);background:#fff;border-radius:10px;font-weight:700}.debug select:focus{box-shadow:2px 2px 0 var(--ink);outline:none}.debug select:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.debug-note{margin:var(--sp-1) 0 0;max-width:var(--measure);font-size:var(--fs-xs);font-weight:600;line-height:var(--lh-body);color:var(--dim)}.gate{padding:var(--sp-4);background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gate-card{background:var(--card);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);box-sizing:border-box;width:min(92vw,360px);max-height:88vh;padding:var(--sp-6);border-radius:20px;overflow-y:auto}.gate-card h1{font-size:var(--fs-3xl);line-height:var(--lh-tight);margin:0;font-weight:800}.gate-tagline{margin:var(--sp-1) 0 var(--sp-4);font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--dim);font-weight:700}.gate-card label{font-size:var(--fs-xs);line-height:var(--lh-tight);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:var(--sp-3) 0 var(--sp-1);font-weight:800;display:block}.gate-card input{box-sizing:border-box;width:100%;min-height:var(--ctl-h);font:inherit;font-size:var(--fs-md);color:var(--ink);border:2px solid var(--ink);padding:var(--sp-2) var(--sp-3);background:#fff;border-radius:10px;font-weight:600}.gate-card input:focus{box-shadow:2px 2px 0 var(--ink);outline:none}.gate-card input:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.gate-btn{box-sizing:border-box;width:100%;font:inherit;font-size:var(--fs-md);font-weight:800;line-height:var(--lh-tight);border:2px solid var(--ink);padding:var(--sp-2) var(--sp-4);min-height:var(--ctl-h);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:10px}.gate-btn:hover:not(:disabled,:active){box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.gate-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.gate-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:3px 3px 0 var(--ink);transform:none}.gate-btn.ms{background:var(--blue)}.gate-btn.cont{background:var(--green);margin-top:var(--sp-3)}.gate-note{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--dim);font-weight:700}.gate-error{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--red-text);font-weight:700}.gate-divider{align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-xs);line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:.05em;color:var(--dim);font-weight:800;display:flex}.gate-divider:before,.gate-divider:after{content:"";border-top:2px solid var(--gray);flex:1}.auth-return{max-width:560px;padding:var(--sp-8) var(--sp-6);text-align:center;color:var(--ink);margin:0 auto;font-weight:700}.auth-return h1{margin:0 0 var(--sp-4);font-size:var(--fs-2xl);line-height:var(--lh-tight)}.auth-return p{margin:0 auto var(--sp-3);max-width:var(--measure);font-weight:600;font-size:var(--fs-md);line-height:var(--lh-body);text-align:left}.auth-return.bad h1{color:var(--red-text)}.auth-return code{padding:0 var(--sp-1);border:2px solid var(--ink);background:var(--bg);font-size:var(--fs-md);word-break:break-all}.auth-return .auth-note{font-weight:600;font-size:var(--fs-md);opacity:.75}@media (prefers-reduced-motion:reduce){.col,.bar i,.checks,.chev,.check .bx,.app-header button,.modal .actions button,.gate-btn,.modal form,.modal .mrow,.modal input,.modal select,.modal textarea,.datebtn,.datepop .dhead button,.datepop .dfoot button,.datepop .dday,.emojibtn,.emojifoot button{transition:none}.busy:before,.modal-backdrop,.modal,.emojipop,.labeldrop,.datepop,.flash,.statusline .flash,.ai-note.flash,.notice,.app-header button.reconnect{animation:none}.card.dragclone{transform:none}html{scroll-behavior:auto}}
