:root{--pk-paper:#fff;--pk-stage:#f6f7fb;--pk-m:#3b82f6;--pk-f:#ec4899;--pk-n:#a1a1aa;--pk-soft:#006fee1a;--pk-ok:#16a34a;--pk-ok-soft:#16a34a24;--pk-warn:#d97706;--pk-warn-soft:#f59e0b24;--pk-off:#e4e4e7;--pk-card-back:linear-gradient(135deg, #3b82f6, #6366f1);--pk-shadow:0 10px 30px #0000001f;--pk-accent:#0058c4}[data-theme=dark]{--pk-paper:#141416;--pk-stage:#0f1014;--pk-m:#60a5fa;--pk-f:#f472b6;--pk-n:#71717a;--pk-soft:#338ef729;--pk-ok:#22c55e;--pk-ok-soft:#22c55e29;--pk-warn:#f59e0b;--pk-warn-soft:#f59e0b29;--pk-off:#2a2a2e;--pk-card-back:linear-gradient(135deg, #2563eb, #4f46e5);--pk-shadow:0 10px 30px #00000080;--pk-accent:#8ec5ff}.pk-btn{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--fg);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform 80ms;display:inline-flex}.pk-btn:hover{border-color:var(--primary);color:var(--primary)}.pk-btn:active{transform:scale(.97)}.pk-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pk-btn:disabled:hover{border-color:var(--border);color:var(--fg)}.pk-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.pk-btn.primary:hover{background:var(--primary-h);color:var(--primary-fg)}.pk-btn.danger{color:var(--danger)}.pk-btn.danger:hover{border-color:var(--danger);background:#f3126014}.pk-btn.big{border-radius:14px;min-height:56px;padding:0 28px;font-size:18px}.pk-btn.icon{width:44px;padding:0}.pk-btn.sm{border-radius:8px;min-height:36px;padding:0 12px;font-size:13px}.pk-btn svg{flex-shrink:0;width:18px;height:18px}.pk-btn.big svg{width:22px;height:22px}.pk-seg{background:var(--bg-sec);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.pk-seg button{color:var(--fg-muted);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:8px;min-height:38px;padding:0 12px;font-family:inherit;font-size:13.5px;font-weight:700}.pk-seg button[aria-pressed=true]{background:var(--bg);color:var(--primary);box-shadow:0 1px 3px #0000001f}.pk-stepper{background:var(--bg-sec);border:1px solid var(--border);border-radius:10px;align-items:center;padding:3px;display:inline-flex}.pk-stepper button{background:var(--bg);color:var(--fg);cursor:pointer;touch-action:manipulation;border:0;border-radius:8px;place-items:center;width:38px;height:38px;font-size:20px;line-height:1;display:grid;box-shadow:0 1px 2px #00000014}.pk-stepper button:disabled{opacity:.35;cursor:not-allowed}.pk-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:16px;font-weight:800}.pk-opt{align-items:center;gap:8px;display:inline-flex}.pk-opt>.lbl{color:var(--fg-muted);font-size:13px;font-weight:700}.pk-opt[hidden]{display:none}.pk-check{border:1px solid var(--border);background:var(--bg);cursor:pointer;user-select:none;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.pk-check input{width:20px;height:20px;accent-color:var(--primary);margin:0}.pk-check:has(input:checked){border-color:var(--primary);background:var(--pk-soft)}.pk-top{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.pk-h2{letter-spacing:.12em;color:var(--fg-muted);flex:1;align-items:center;gap:8px;min-width:120px;margin:0;font-size:12px;font-weight:800;display:flex}.pk-h2:after{content:"";background:var(--border);flex:1;height:1px}.pk-note{color:var(--fg-muted);margin:0 0 16px;font-size:13px;line-height:1.6}.pk-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.pk-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;transition:border-color .2s,transform .15s,box-shadow .2s;position:relative}.pk-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #006fee1a}.pk-card-open{width:100%;min-height:96px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:18px 56px 18px 18px;display:block}.pk-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;overflow:hidden}.pk-card-meta{color:var(--fg-muted);margin-top:6px;font-size:13px;line-height:1.5}.pk-card-menu{width:52px;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;border-left:1px solid #0000;border-radius:0 16px 16px 0;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.pk-card-menu:hover{background:var(--bg);border-left-color:var(--border);color:var(--fg)}.pk-card-menu svg{width:20px;height:20px}.pk-empty{text-align:center;border:1px dashed var(--border);color:var(--fg-muted);border-radius:16px;grid-column:1/-1;padding:40px 16px;font-size:14px;line-height:1.7}.pk-empty b{color:var(--fg)}#view-class[hidden],#view-list[hidden],#view-list [hidden],#view-class [hidden],.pk-modal [hidden],body.pk-in-class .app-header{display:none!important}.pk-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}#pk-name{color:var(--fg);background:0 0;border:1px solid #0000;border-radius:8px;width:200px;min-width:80px;min-height:44px;padding:6px 10px;font-family:inherit;font-size:18px;font-weight:800}#pk-name:hover{border-color:var(--border)}#pk-name:focus{border-color:var(--primary);outline:none}.pk-tabs{background:var(--bg-sec);border:1px solid var(--border);border-radius:12px;gap:4px;margin-left:auto;padding:4px;display:inline-flex}.pk-tabs button{color:var(--fg-muted);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:9px;min-height:44px;padding:0 16px;font-family:inherit;font-size:15px;font-weight:800}.pk-tabs button[aria-selected=true]{background:var(--bg);color:var(--primary);box-shadow:0 1px 4px #0000001f}.pk-absent-chip{border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);font:inherit;cursor:pointer;border-radius:999px;min-height:36px;padding:0 12px;font-size:13px;font-weight:700}.pk-absent-chip.has{color:var(--pk-warn);border-color:var(--pk-warn);background:var(--pk-warn-soft)}.pk-panel[hidden]{display:none!important}.pk-opts{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px;display:flex}.pk-display{background:var(--pk-paper);border:1px solid var(--border);border-radius:18px;flex-direction:column;min-height:clamp(340px,52vh,620px);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #0000000a}.pk-view{flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;position:relative}.pk-dock{border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:12px 14px 14px;display:flex}.pk-dock .grow{flex:1}.pk-present-only{display:none!important}.pk-info{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;font-size:13.5px;display:flex}.pk-info b{color:var(--fg)}.pk-hint{color:var(--fg-muted);text-align:center;font-size:13px;line-height:1.6}body.pk-present{overflow:hidden}body.pk-present .top-overlay,body.pk-present .top-overlay-left{display:none!important}body.pk-present .pk-display.is-present{z-index:600;border:0;border-radius:0;min-height:0;position:fixed;inset:0}body.pk-present .pk-display.is-present .pk-present-only{display:inline-flex!important}body.pk-present .pk-display.is-present .pk-hide-present{display:none!important}body.pk-present .pk-display.is-present .pk-dock{padding:14px 20px 18px}body.pk-present .pk-display.is-present .pk-mem{touch-action:none}.pk-names{place-content:center;gap:12px;width:100%;height:100%;display:grid}.pk-name{text-align:center;letter-spacing:-.02em;white-space:nowrap;color:var(--fg);background:var(--bg-sec);border-radius:16px;justify-content:center;align-items:center;min-width:0;padding:6px 12px;font-weight:900;line-height:1.1;display:flex}.pk-name.rolling{color:var(--fg-muted)}.pk-name.final{background:var(--pk-soft);color:var(--pk-accent);animation:.35s cubic-bezier(.2,1.4,.4,1) both pkPop}.pk-placeholder{color:var(--fg-muted);text-align:center;font-size:18px;font-weight:700;line-height:1.6}@keyframes pkPop{0%{opacity:.3;transform:scale(.7)}to{opacity:1;transform:none}}.pk-cards{place-content:center;gap:10px;width:100%;height:100%;display:grid}.pk-flip{cursor:pointer;perspective:800px;font:inherit;touch-action:manipulation;background:0 0;border:0;padding:0;position:relative}.pk-flip .in{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.9,.4,1);position:absolute;inset:0}.pk-flip .fc,.pk-flip .bc{backface-visibility:hidden;text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:4px;font-weight:900;line-height:1.1;display:flex;position:absolute;inset:0}.pk-flip .bc{background:var(--pk-card-back);color:#ffffffd9;box-shadow:0 3px 10px #00000026}.pk-flip .fc{background:var(--pk-soft);color:var(--pk-accent);border:2px solid var(--primary);word-break:keep-all;transform:rotateY(180deg)}.pk-flip.open .in{transform:rotateY(180deg)}.pk-flip:disabled{cursor:default}.pk-flip:not(.open):disabled .bc{opacity:.35}.pk-wheel-wrap{aspect-ratio:1;justify-content:center;align-items:center;max-width:100%;height:100%;display:flex;position:relative}.pk-wheel-wrap svg.wheel{width:100%;height:100%;transition:transform 3.6s cubic-bezier(.12,.7,.15,1)}.pk-wheel-wrap .pointer{border-left:16px solid #0000;border-right:16px solid #0000;border-top:30px solid var(--danger);filter:drop-shadow(0 2px 3px #0000004d);z-index:2;width:0;height:0;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.pk-wheel-result{z-index:3;background:var(--bg);color:var(--pk-accent);box-shadow:var(--pk-shadow);white-space:nowrap;border-radius:16px;padding:10px 22px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pk-history{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pk-history .h{background:var(--bg-sec);border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:13px}.pk-history .h small{color:var(--fg-muted);margin-right:4px}.pk-order-now{text-align:center;width:100%}.pk-order-now .no{color:var(--fg-muted);font-weight:800}.pk-order-now .nm{color:var(--pk-accent);white-space:nowrap;font-weight:900;line-height:1.1}.pk-order-now .nx{color:var(--fg-muted);margin-top:.4em;font-weight:700}.pk-olist{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:14px;display:grid}.pk-ochip{border:1px solid var(--border);background:var(--card-bg);min-height:48px;color:var(--fg);font:inherit;cursor:pointer;text-align:left;touch-action:manipulation;border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:700;display:flex}.pk-ochip .n{background:var(--bg);min-width:28px;height:28px;color:var(--fg-muted);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;font-size:13px;display:grid}.pk-ochip.done{opacity:.5;text-decoration:line-through}.pk-ochip.cur{border-color:var(--primary);background:var(--pk-soft);color:var(--primary)}.pk-ochip.cur .n{background:var(--primary);color:#fff}.pk-groups{align-content:start;align-self:stretch;gap:12px;width:100%;display:grid;overflow:auto}.pk-group{border:2px solid var(--border);background:var(--card-bg);border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:10px;transition:border-color .15s,background .15s;display:flex}.pk-group.drop{border-color:var(--primary);background:var(--pk-soft)}.pk-group.target{border-style:dashed;border-color:var(--primary);cursor:pointer}.pk-ghead{align-items:center;gap:8px;padding:2px 4px 4px;font-size:15px;font-weight:900;display:flex}.pk-ghead .dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.pk-ghead .cnt{color:var(--fg-muted);margin-left:auto;font-size:12.5px;font-weight:700}.pk-mem{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--fg);font:inherit;cursor:grab;text-align:left;touch-action:pan-y;user-select:none;-webkit-touch-callout:none;border-radius:10px;align-items:center;gap:8px;padding:0 10px;font-size:15px;font-weight:700;display:flex}.pk-mem .g{background:var(--pk-n);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pk-mem .g.M{background:var(--pk-m)}.pk-mem .g.F{background:var(--pk-f)}.pk-mem .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pk-mem .tag{border-radius:6px;padding:2px 6px;font-size:11.5px;font-weight:800}.pk-mem .tag.lead{background:var(--pk-warn-soft);color:var(--pk-warn)}.pk-mem .tag.pin{color:var(--fg-muted)}.pk-mem.sel{border-color:var(--primary);box-shadow:0 0 0 3px var(--pk-soft)}.pk-mem.bad{border-color:var(--danger)}.pk-mem.dragging{opacity:.35}.pk-ghost{z-index:10020;pointer-events:none;background:var(--primary);color:#fff;white-space:nowrap;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:800;position:fixed;transform:translate(-50%,-140%);box-shadow:0 8px 24px #00000040}.pk-selbar{background:var(--pk-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.pk-selbar[hidden]{display:none}.pk-warnline{color:var(--danger);font-weight:700}.pk-okline{color:var(--pk-ok);font-weight:700}#groups-print-title{display:none}.pk-roster{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px;display:grid}.pk-stu{border:1px solid var(--border);background:var(--card-bg);min-height:52px;color:var(--fg);font:inherit;cursor:pointer;text-align:left;touch-action:manipulation;border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:700;display:flex}.pk-stu .g{background:var(--pk-n);border-radius:50%;flex-shrink:0;width:10px;height:10px}.pk-stu .g.M{background:var(--pk-m)}.pk-stu .g.F{background:var(--pk-f)}.pk-stu .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pk-stu .st{color:var(--fg-muted);font-size:12px;font-weight:800}.pk-stu[aria-pressed=true]{background:var(--pk-warn-soft);border-color:var(--pk-warn)}.pk-stu[aria-pressed=true] .nm{color:var(--fg-muted);text-decoration:line-through}.pk-stu[aria-pressed=true] .st{color:var(--pk-warn)}.pk-pop{z-index:10010;background:var(--dialog-bg);color:var(--dialog-fg);border:1px solid var(--dialog-border);box-shadow:var(--pk-shadow);border-radius:12px;min-width:200px;padding:6px;font-size:14px;position:fixed}.pk-pop[hidden]{display:none}.pk-pop button{text-align:left;width:100%;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.pk-pop button:hover,.pk-pop button:focus-visible{background:var(--pk-soft);color:var(--primary);outline:none}.pk-pop button.danger{color:var(--danger)}.pk-pop .pdiv{background:var(--border);height:1px;margin:4px 0}.pk-modal{z-index:10000;backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.pk-modal.open{display:flex}.pk-mbox{background:var(--dialog-bg);color:var(--dialog-fg);border:1px solid var(--dialog-border);border-radius:18px;width:min(540px,100%);max-height:calc(100dvh - 32px);padding:22px;overflow:auto;box-shadow:0 20px 50px #00000040}.pk-mbox h2{margin:0 0 6px;font-size:18px}.pk-mbox .mdesc{color:var(--fg-muted);margin:0 0 12px;font-size:13.5px;line-height:1.6}.pk-mbox textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;height:260px;color:var(--fg);resize:vertical;border-radius:12px;padding:12px;font-family:inherit;font-size:15px;line-height:1.7}.pk-mbox textarea:focus,.pk-mbox .pk-inp:focus,.pk-mbox select:focus{border-color:var(--primary);outline:none}.pk-inp,.pk-mbox select{border:1px solid var(--border);background:var(--input-bg);width:100%;min-height:44px;color:var(--fg);border-radius:10px;padding:0 12px;font-family:inherit;font-size:15px}.mfoot{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.mfoot .left{margin-right:auto}.pk-mrow{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.pk-list{flex-direction:column;gap:6px;max-height:260px;margin-top:10px;display:flex;overflow:auto}.pk-list .it{border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-weight:700;display:flex}.pk-list .it span{flex:1}.pk-list .src{text-align:left;justify-content:flex-start;width:100%;min-height:52px}.pk-list .src small{color:var(--fg-muted);margin-left:auto;font-weight:600}.pk-btn .ic{width:18px;height:18px}.pk-tabs button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.pk-tabs button .ic{flex-shrink:0;width:16px;height:16px}.pk-mem .tag.pin .ic{vertical-align:-2px;width:13px;height:13px}.pk-sub{color:var(--fg-muted);margin:-4px 0 12px;font-size:12.5px;line-height:1.6}.pk-btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.pk-btn.danger-solid:hover{background:color-mix(in srgb, var(--danger) 85%, #000);color:#fff;border-color:var(--danger)}@media (pointer:coarse){.pk-btn.sm{min-height:44px}.pk-stepper button{width:44px;height:44px}.pk-seg button,.pk-absent-chip{min-height:44px}}@media (width<=768px),(pointer:coarse){.pk-inp,.pk-mbox select,.pk-mbox textarea{font-size:16px}}@media (width<=760px){.pk-tabs{width:100%;margin-left:0}.pk-tabs button{flex:1;padding:0 6px;font-size:14px}#pk-name{width:140px}.pk-display{min-height:300px}}@media (width<=420px){.pk-tabs button{font-size:13px}.pk-btn.big{padding:0 18px;font-size:16px}}@media print{@page{size:A4 portrait;margin:12mm}body.pk-printing>:not(.app-main),body.pk-printing #view-class>:not(#panel-groups),body.pk-printing #panel-groups>:not(#groups-display){display:none!important}body.pk-printing #groups-display{box-shadow:none;background:#fff;border:0;min-height:0}body.pk-printing #groups-display .pk-dock{display:none!important}body.pk-printing #groups-print-title{text-align:center;color:#000;margin:0 0 6mm;font-size:20px;font-weight:900;display:block}body.pk-printing .pk-groups{overflow:visible;grid-template-columns:repeat(2,1fr)!important}body.pk-printing .pk-group{break-inside:avoid;background:#fff!important;border:1.5px solid #555!important}body.pk-printing .pk-mem{font-size:16px;color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #aaa!important}body.pk-printing .pk-mem .g,body.pk-printing .pk-mem .tag.pin{display:none!important}body.pk-printing .pk-ghead{color:#000}}
