@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}#root{min-height:100svh}:root{--ink:#15181f;--ink-soft:#2a2e38;--paper:#f1f2ef;--paper-dk:#e4e5df;--card:#fff;--pine:#15181f;--pine-dk:#05070c;--pine-lt:#ecede8;--stamp:#d93a2a;--stamp-dk:#ae2c1f;--stamp-lt:#fceeec;--stamp-glow:#f3b4ab;--brass:#c9820f;--brass-dk:#97620a;--brass-lt:#faf2e1;--brass-bd:#e7c57c;--denim:#3f4a63;--denim-dk:#2c3550;--denim-lt:#ebedf2;--success:#2f9152;--success-dk:#237a42;--success-lt:#e8f3ec;--indigo:var(--pine);--indigo-dk:var(--pine-dk);--indigo-lt:var(--pine-lt);--violet:var(--denim);--violet-lt:var(--denim-lt);--cyan:#0891b2;--teal:#0d9488;--amber:var(--brass);--amber-lt:var(--brass-lt);--emerald:var(--success);--emerald-lt:var(--success-lt);--red:var(--stamp);--red-lt:var(--stamp-lt);--orange:var(--brass);--orange-lt:var(--brass-lt);--blue:var(--pine);--blue-dk:var(--pine-dk);--blue-lt:var(--pine-lt);--green:var(--success);--green-lt:var(--success-lt);--bg:var(--paper);--bg-sub:#f7f7f4;--text:#15181f;--text-md:#3a3f4a;--text-sm:#5a6070;--text-xs:#878c99;--border:#dbdcd6;--border-dk:#c9cac3;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Bricolage Grotesque", "Inter", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:14px;--radius-sm:9px;--radius-xs:5px;--sh:0 1px 2px #0f172a0d, 0 2px 7px #0f172a0d;--sh-md:0 4px 14px #0f172a17, 0 2px 5px #0f172a0d;--sh-lg:0 10px 30px #0f172a24, 0 4px 10px #0f172a0f;--sh-in:inset 0 1px 0 #ffffff14;--t-fast:.12s ease;--t-base:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--stamp);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-dk);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.bg-kratka{pointer-events:none;--kratka-line:#15181f0e;background-image:linear-gradient(var(--kratka-line) 1px, transparent 1px), linear-gradient(90deg, var(--kratka-line) 1px, transparent 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 30% 20%,#000 42%,#0000 100%);mask-image:radial-gradient(120% 90% at 30% 20%,#000 42%,#0000 100%)}.icon{vertical-align:middle;flex-shrink:0;width:1em;height:1em;display:inline-block}.app{background:var(--bg);min-height:100svh;font-family:var(--font-body);color:var(--text);flex-direction:column;font-size:15px;line-height:1.55;display:flex}.app-header{background:var(--ink);color:#fff;border-bottom:2px solid var(--stamp);padding:1.125rem 0;position:relative;overflow:hidden}.app-header:before{content:"";pointer-events:none;background:radial-gradient(55% 100% at 3%,#ffffff0d 0%,#0000 100%),radial-gradient(42% 90% at 98% 40%,#d93a2a29 0%,#0000 100%);position:absolute;inset:0}.app-header:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:27px 27px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 100%,#000 50%,#0000 100%);mask-image:radial-gradient(85% 100%,#000 50%,#0000 100%)}.header-inner{z-index:1;align-items:center;gap:1rem;max-width:1000px;margin:0 auto;padding:0 1.5rem;display:flex;position:relative}.header-icon-wrap{color:#ffffffd9;background:#ffffff1f;border:1.5px solid #ffffff47;border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.header-icon-wrap .icon{width:22px;height:22px}.header-title{font-family:var(--font-display);color:#fff;letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.1}.header-sub{color:#ffffff9e;margin-top:.2rem;font-size:.8rem}.header-actions{flex-shrink:0;align-items:center;gap:.625rem;margin-left:auto;display:flex}.header-userbtn{color:#ffffffd9;cursor:pointer;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);background:#ffffff1a;border:1.5px solid #ffffff47;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .875rem .25rem .3rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.header-userbtn:hover{background:#ffffff2e;border-color:#ffffff73;transform:translateY(-1px)}.header-userbtn:active{transform:none}.header-userbtn:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.header-user-name{text-overflow:ellipsis;max-width:140px;overflow:hidden}.user-avatar{background:linear-gradient(135deg, var(--pine), var(--denim));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.68rem;font-weight:700;display:grid;box-shadow:0 2px 8px #15181f59}.btn-header-back{color:#ffffffd9;cursor:pointer;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);background:#ffffff1a;border:1.5px solid #ffffff47;border-radius:8px;flex-shrink:0;align-items:center;gap:.45rem;padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.btn-header-back:hover{background:#ffffff2e;border-color:#ffffff73;transform:translateY(-1px)}.btn-header-back:active{transform:none}.btn-header-back:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.btn-header-back .icon{width:15px;height:15px}@media (width<=560px){.btn-header-back span{display:none}.btn-header-back{padding:.5rem .625rem}.header-user-name{display:none}}.app-main{flex:1;width:100%;max-width:1000px;margin:2rem auto;padding:0 1.5rem}.app-footer{text-align:center;color:var(--text-xs);border-top:1px solid var(--border);padding:1.5rem;font-size:.75rem}.error-box{background:var(--stamp-lt);border:1px solid #fca5a5;border-left:4px solid var(--stamp);color:var(--stamp-dk);border-radius:var(--radius-sm);white-space:pre-wrap;margin-bottom:1.5rem;padding:.875rem 1.125rem;font-size:.875rem;line-height:1.6}.error-box .btn-retry{vertical-align:middle;margin-left:.75rem}.btn-retry{border:1.5px solid var(--stamp);color:var(--stamp-dk);cursor:pointer;white-space:nowrap;transition:background var(--t-fast);background:#fff;border-radius:8px;padding:.4rem .9rem;font-family:inherit;font-size:.8rem;font-weight:600}.btn-retry:hover{background:var(--stamp-lt)}.btn-retry--ghost{border-color:var(--border-dk);color:var(--text-md)}.btn-retry--ghost:hover{background:var(--bg-sub)}.save-warn{background:var(--brass-lt);border:1px solid var(--brass-bd);border-left:4px solid var(--brass);color:var(--brass-dk);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1.125rem;font-size:.85rem;display:flex}.save-warn-actions{flex-shrink:0;gap:.5rem;display:flex}.save-warn .btn-retry{border-color:var(--brass);color:var(--brass-dk)}.save-warn .btn-retry:hover{background:var(--brass-lt)}.gen-confirm{border:1.5px solid var(--brass-bd);background:var(--brass-lt);border-radius:var(--radius);padding:1.125rem 1.25rem}.gen-confirm-text{color:var(--text);margin-bottom:.875rem;font-size:.9rem;line-height:1.5}.gen-confirm-actions{flex-wrap:wrap;gap:.625rem;display:flex}.btn-generate-anyway{background:var(--brass-dk);color:#fff;cursor:pointer;transition:opacity var(--t-fast), transform var(--t-fast);border:none;border-radius:8px;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #97620a47}.btn-generate-anyway:hover{opacity:.9;transform:translateY(-1px)}.gen-login-gate{border:1.5px solid var(--denim);background:var(--denim-lt);border-radius:var(--radius);margin-bottom:.75rem;padding:1.125rem 1.25rem}.gen-login-gate .gen-confirm-text{margin-bottom:.875rem}.cost-badge{background:var(--brass-dk);color:#fff;letter-spacing:.02em;border-radius:8px;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:.8rem;font-weight:700;display:inline-flex}.cost-panel{border:1.5px solid var(--brass-bd);background:var(--brass-lt);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem 1.125rem}.cost-panel-head{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cost-panel-headtext strong{color:var(--text);font-size:.95rem}.cost-panel-headtext .empty-hint{margin:.1rem 0 0}.cost-panel-total{color:var(--brass-dk);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:1.4rem;font-weight:700}.cost-lines{flex-direction:column;gap:.35rem;display:flex}.cost-line{color:var(--text);justify-content:space-between;gap:1rem;font-size:.875rem;display:flex}.cost-line-qty{color:var(--text-mute,#8a8f98)}.cost-line-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.cost-line--total{border-top:1px dashed var(--brass-bd);margin-top:.35rem;padding-top:.5rem;font-size:.95rem;font-weight:700}.cost-widget{z-index:60;background:var(--paper);border:1.5px solid var(--brass-bd);width:min(20rem,100vw - 2.5rem);animation:itemIn var(--t-med,.25s) ease both;border-radius:12px;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden;box-shadow:0 10px 30px #15181f2e}.cost-widget-head{background:var(--brass-lt);cursor:pointer;text-align:left;border:none;align-items:center;gap:.55rem;width:100%;padding:.65rem .85rem;font-family:inherit;display:flex}.cost-widget-title{color:var(--text);font-size:.82rem;font-weight:600}.cost-widget-total{color:var(--brass-dk);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:1.1rem;font-weight:700}.cost-widget-chevron{color:var(--brass-dk);font-size:.7rem}.cost-widget-body{border-top:1px solid var(--brass-bd);padding:.8rem .9rem}.cost-widget-body .empty-hint{margin:.6rem 0 0}@media (width<=640px){.cost-widget{bottom:.75rem;right:.75rem}}@media print{.cost-widget{display:none!important}}.cost-was{color:var(--text-mute,#8a8f98);margin-right:.4rem;font-size:.82em;font-weight:500;text-decoration:line-through}.cost-now{color:var(--brass-dk)}.cost-now--free{color:var(--success);letter-spacing:.02em}.cost-discount{color:var(--success-dk);font-weight:600}.cost-discount .cost-line-amount{color:var(--success-dk)}.coupon-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}.coupon-input{border:1px solid var(--border);text-transform:uppercase;background:#fff;border-radius:8px;flex:9rem;min-width:8rem;padding:.5rem .65rem;font-family:inherit;font-size:.875rem}.coupon-input:focus-visible{outline:2px solid var(--brass-dk);outline-offset:1px;border-color:var(--brass-dk)}.coupon-apply{white-space:nowrap}.coupon-error{color:var(--stamp);flex-basis:100%;font-size:.8rem}.coupon-hint{color:var(--text-mute,#8a8f98);margin:.45rem 0 0;font-size:.8rem}.coupon-hint code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--success-dk);background:var(--success-lt);border-radius:5px;padding:.05rem .35rem;font-weight:700}.coupon-applied{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.coupon-chip{background:var(--success-lt);color:var(--success-dk);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.coupon-remove{color:var(--text-mute,#8a8f98);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.8rem;text-decoration:underline}.coupon-remove:hover{color:var(--stamp)}.danger-zone{border-color:#f0b8b0}.danger-title{color:var(--stamp-dk);border-bottom-color:#f0b8b0}.danger-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.danger-row-text strong{color:var(--text);font-size:.9rem}.danger-form{flex-direction:column;gap:.875rem;display:flex}.danger-actions{flex-wrap:wrap;gap:.625rem;display:flex}.btn-danger{background:var(--stamp);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity var(--t-fast), transform var(--t-fast);border:none;border-radius:8px;padding:.55rem 1.15rem;font-family:inherit;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #d93a2a47}.btn-danger:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-danger:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.footer-link{cursor:pointer;font:inherit;color:inherit;opacity:.85;background:0 0;border:none;padding:0;text-decoration:underline}.footer-link:hover{opacity:1;color:var(--pine-dk)}.legal .card p{color:var(--text-md);font-size:.9rem;line-height:1.6}.legal .card p+p{margin-top:.625rem}.legal-list{flex-direction:column;gap:.4rem;margin:0;padding-left:1.25rem;display:flex}.legal-list li{color:var(--text-md);font-size:.9rem;line-height:1.5}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--sh);padding:1.5rem}.setup{flex-direction:column;gap:1.25rem;display:flex}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.setup>*,.tt-wrapper>*{animation:.45s backwards riseIn}.setup>:first-child,.tt-wrapper>:first-child{animation-delay:20ms}.setup>:nth-child(2),.tt-wrapper>:nth-child(2){animation-delay:70ms}.setup>:nth-child(3),.tt-wrapper>:nth-child(3){animation-delay:.12s}.setup>:nth-child(4),.tt-wrapper>:nth-child(4){animation-delay:.17s}.setup>:nth-child(5),.tt-wrapper>:nth-child(5){animation-delay:.22s}.setup>:nth-child(6),.tt-wrapper>:nth-child(6){animation-delay:.27s}.setup>:nth-child(7),.tt-wrapper>:nth-child(7){animation-delay:.32s}.setup>:nth-child(8){animation-delay:.37s}.wiz-steps{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--sh);flex-wrap:wrap;gap:.375rem;padding:.75rem;display:flex}.wiz-step{background:var(--bg);color:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);border:1px solid #0000;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .7rem .4rem .5rem;font-family:inherit;font-size:.78rem;font-weight:500;display:flex}.wiz-step:hover:not(:disabled){border-color:var(--border-dk);color:var(--text-md)}.wiz-step:disabled{opacity:.4;cursor:not-allowed}.wiz-step.active{background:var(--pine-dk);border-color:var(--pine-dk);color:#fff;font-weight:600;box-shadow:0 2px 8px #15181f47}.wiz-step.done:not(.active){color:var(--pine-dk)}.wiz-step-nr{width:1.35rem;height:1.35rem;font-size:.7rem;font-weight:700;font-family:var(--font-mono);background:#0000000f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.wiz-step.active .wiz-step-nr{background:#fff3}.wiz-step.done:not(.active) .wiz-step-nr{background:var(--pine-lt);color:var(--pine-dk)}.wiz-slide{flex-direction:column;gap:1.25rem;display:flex}.wiz-nav{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--sh);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.wiz-progress-label{color:var(--text-sm);text-align:center;flex:1;font-size:.78rem;font-weight:500}.btn-wiz-back,.btn-wiz-next{cursor:pointer;white-space:nowrap;transition:opacity var(--t-fast), transform var(--t-fast);border:none;border-radius:8px;padding:.55rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600}.btn-wiz-back{background:var(--bg-sub);color:var(--text);border:1px solid var(--border)}.btn-wiz-back:hover{background:var(--border)}.btn-wiz-next{background:var(--pine-dk);color:#fff;box-shadow:0 2px 8px #15181f47}.btn-wiz-next:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-wiz-next:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.wiz-block-hint{text-align:center;font-size:.8rem}.twice-field{background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.twice-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.twice-head label{font-size:.84rem}.twice-actions{flex-shrink:0;gap:.375rem;display:flex}.summary-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem;display:grid}.summary-tile{background:var(--bg-sub);border-radius:var(--radius-xs);border:1px solid var(--border);flex-direction:column;align-items:center;gap:.2rem;padding:.875rem .5rem;display:flex}.summary-nr{color:var(--pine-dk);font-size:1.4rem;font-weight:700;font-family:var(--font-mono)}.summary-label{color:var(--text-sm);text-align:center;font-size:.72rem}.summary-issues{flex-direction:column;gap:.3rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.summary-issues li{font-size:.82rem}.summary-ok{color:var(--success);margin-top:.75rem;font-size:.85rem;font-weight:600}.diag{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.diag-title{color:var(--text);font-size:.85rem;font-weight:600;line-height:1.45}.diag-group{border-radius:var(--radius-sm);border:1.5px solid;padding:.875rem 1rem}.diag-group--blocker{background:var(--stamp-lt);border-color:var(--stamp-glow)}.diag-group--warn{background:var(--brass-lt);border-color:var(--brass-bd)}.diag-head{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin:0 0 .625rem;font-size:.78rem;font-weight:700;display:flex}.diag-head:before{content:"⚠";font-size:.95rem;line-height:1}.diag-group--blocker .diag-head{color:var(--stamp-dk)}.diag-group--warn .diag-head{color:var(--brass-dk)}.diag-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.diag-item{border-left:2px solid;padding-left:.75rem;font-size:.82rem;line-height:1.45}.diag-group--blocker .diag-item{border-color:var(--stamp)}.diag-group--warn .diag-item{border-color:var(--brass)}.diag-line{color:var(--text-md)}.diag-where{color:var(--text);font-weight:700}.diag-fix{color:var(--text-md);margin-top:.15rem}.diag-fix-label{color:var(--text);font-weight:600}@media (width<=700px){.summary-grid{grid-template-columns:repeat(2,1fr)}.wiz-step-label{display:none}.wiz-progress-label{font-size:.72rem}}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-bottom:1px solid var(--border);align-items:center;gap:.625rem;margin-bottom:1.125rem;padding-bottom:.875rem;font-size:.82rem;font-weight:700;display:flex}.card-title-icon{width:1.9rem;height:1.9rem;color:var(--pine);background:var(--pine-lt);border:1px solid #15181f1a;border-radius:8px;flex-shrink:0;place-items:center;display:inline-grid}.card-title-icon .icon{width:1.05rem;height:1.05rem}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.875rem;display:flex}.card-header .card-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.badge{background:var(--pine-lt);color:var(--pine-dk);letter-spacing:0;text-transform:none;border-radius:20px;padding:.15em .55em;font-family:inherit;font-size:.8em;font-weight:700}.badge-indyw{background:var(--stamp-lt);color:var(--stamp-dk)}.badge-avail{background:var(--brass-lt);color:#7a4e05;margin-left:.4rem}.avail-box{border:1px dashed var(--border-dk);border-radius:var(--radius-xs);background:var(--bg-sub);margin-bottom:1rem;padding:.875rem}.avail-box>label{margin-bottom:.5rem;display:block}.avail-days{flex-direction:column;gap:.4rem;margin-bottom:.6rem;display:flex}.avail-day-row{border-radius:var(--radius-xs);background:var(--card);border:1px solid var(--border);align-items:center;gap:.75rem;padding:.35rem .5rem;display:flex}.avail-day-row.on{border-color:var(--border-dk)}.avail-day-toggle{min-width:8.5rem;margin:0}.avail-day-times{align-items:center;gap:.4rem;display:flex}.avail-day-times input[type=time]{width:auto;padding:.3rem .45rem}.avail-lbl{color:var(--text-md);font-size:.8rem}.avail-off-lbl{color:var(--text-md);opacity:.55;font-size:.8rem;font-style:italic}.seg-toggle{border:1.5px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-sub);width:fit-content;display:inline-flex;overflow:hidden}.seg-btn{color:var(--text-md);cursor:pointer;background:0 0;border:none;padding:.5rem 1.1rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:background .12s,color .12s}.seg-btn+.seg-btn{border-left:1.5px solid var(--border)}.seg-btn:hover:not(.active){background:var(--pine-lt)}.seg-btn.active{background:var(--pine);color:#fff}.field-hint{color:var(--text-md);opacity:.85;font-size:.78rem;line-height:1.35}.item-note{color:var(--text-md);font-weight:500}.extra-note{color:var(--text-md);font-size:.92em}.extra-group{margin-top:1rem}.extra-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-md);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8125rem;font-weight:700;display:flex}.row-3{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.row-3:last-child{margin-bottom:0}@media (width<=640px){.row-3{grid-template-columns:1fr}}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field:last-child,.row-3 .field{margin-bottom:0}label{color:var(--ink-soft);letter-spacing:.005em;font-size:.8125rem;font-weight:600}label small{color:var(--text-sm);font-weight:400}input[type=text],input[type=number],input[type=time],input[type=email],input[type=password],select,textarea{border:1.5px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#fff;padding:.625rem .875rem;font-family:inherit;font-size:.9rem}input:hover:not(:focus):not(:disabled),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--border-dk)}input:focus,select:focus,textarea:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px #15181f24}select{cursor:pointer}.breaks-grid{flex-wrap:wrap;gap:.625rem;display:flex}.break-cell{flex-direction:column;align-items:center;gap:.2rem;display:flex}.break-label{color:var(--text-xs);white-space:nowrap;font-size:.7rem;font-weight:500}.break-unit{color:var(--text-xs);font-size:.65rem}input.break-inp{text-align:center;border:1.5px solid var(--border);width:56px;font-size:.875rem;font-family:var(--font-mono);color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);background:#fff;border-radius:8px;padding:.4rem .25rem}input.break-inp:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 3px #15181f24}input.break-inp--long{border-color:var(--brass-bd);background:var(--brass-lt);color:var(--brass-dk);font-weight:600}input.break-inp--long:focus{box-shadow:0 0 0 3px #c9820f29}.time-preview{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;margin-top:.625rem;padding:.75rem 1rem;display:flex}.time-preview-row{align-items:center;gap:.35rem;display:flex}.tp-nr{font-family:var(--font-mono);color:var(--pine);min-width:1.2rem;font-size:.72rem;font-weight:700}.tp-time{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:.78rem;font-weight:600}.tp-break{color:var(--text-sm);border:1px solid var(--border);white-space:nowrap;background:#fff;border-radius:20px;margin:0 .25rem;padding:.1rem .45rem;font-size:.68rem}.tp-break--long{color:var(--brass-dk);background:var(--brass-lt);border-color:var(--brass-bd);font-weight:600}.day-pills{flex-wrap:wrap;gap:.375rem;display:flex}.day-pill{border:1.5px solid var(--border);color:var(--text-md);cursor:pointer;transition:all var(--t-fast);background:#fff;border-radius:20px;padding:.375rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500}.day-pill.active{background:var(--pine);border-color:var(--pine);color:#fff;box-shadow:0 2px 8px #15181f4d}.day-pill:hover:not(.active):not(:disabled){border-color:var(--pine);color:var(--pine);background:var(--pine-lt)}.day-pill:active:not(:disabled){transform:scale(.94)}.day-pill:disabled{opacity:.4;cursor:not-allowed}.btn-add{border:1.5px solid var(--border);background:var(--bg-sub);color:var(--text-md);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);border-radius:8px;padding:.375rem .875rem;font-family:inherit;font-size:.8125rem;font-weight:500}.btn-add:hover{border-color:var(--pine);color:var(--pine);background:var(--pine-lt)}.btn-add:disabled{opacity:.45;cursor:not-allowed}.btn-confirm{background:var(--pine);color:#fff;cursor:pointer;transition:opacity var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);border:none;border-radius:8px;padding:.5625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #15181f47}.btn-confirm:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 14px #15181f66}.btn-confirm:active:not(:disabled){transform:none}.btn-confirm:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.btn-remove{border:1px solid var(--border);width:1.75rem;height:1.75rem;color:var(--text-xs);cursor:pointer;transition:all var(--t-fast);background:0 0;border-radius:7px;flex-shrink:0;place-items:center;font-family:inherit;font-size:.75rem;display:grid}.btn-remove:hover{background:var(--stamp-lt);color:var(--stamp);border-color:#fca5a5}.btn-remove-sm{border:1px solid var(--border);color:var(--text-xs);cursor:pointer;transition:all var(--t-fast);background:0 0;border-radius:5px;padding:.15rem .4rem;font-family:inherit;font-size:.7rem}.btn-remove-sm:hover{background:var(--stamp-lt);color:var(--stamp);border-color:#fca5a5}@keyframes formIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.inline-form{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--pine);flex-direction:column;gap:.875rem;margin-bottom:1rem;padding:1.25rem 1.25rem 1.25rem 1.125rem;animation:.2s formIn;display:flex}.inline-form--row{flex-direction:row;align-items:flex-end;gap:.75rem}.inline-form--row input{flex:1}.class-add-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.class-add-row .class-name-inp{flex:8rem;min-width:7rem}.class-add-row select{flex:2 14rem;min-width:0}.class-add-row .btn-confirm{flex:none}.wf-add-actions{flex-wrap:wrap;gap:.5rem;display:flex}.subject-grid{border:1.5px solid var(--border);border-radius:var(--radius-xs);background:#fff;grid-template-columns:repeat(3,1fr);gap:.25rem;max-height:220px;padding:.625rem;display:grid;overflow-y:auto}.cb-item{color:var(--text-md);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);border-radius:5px;align-items:center;gap:.375rem;padding:.25rem .375rem;font-size:.8rem;font-weight:500;display:flex}.cb-item small{color:var(--text-sm);font-weight:400}.cb-item:hover{background:var(--pine-lt);color:var(--pine-dk)}.cb-item:has(input:checked){background:var(--pine-lt);color:var(--pine-dk);font-weight:600}.cb-item:has(input:checked) small{color:var(--pine-dk);opacity:.8}.cb-item input[type=checkbox]{width:auto;accent-color:var(--pine);border:none;flex-shrink:0;padding:0}.add-subject-row{gap:.5rem;margin-top:.5rem;display:flex}.add-subject-row input{flex:1}.add-subject-row .btn-add{flex-shrink:0}.item-list{flex-direction:column;gap:.5rem;display:flex}@keyframes itemIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.list-item{background:var(--bg-sub);border-radius:var(--radius-sm);border:1px solid var(--border);transition:border-color var(--t-fast), box-shadow var(--t-fast);align-items:flex-start;gap:.875rem;padding:.75rem 1rem;animation:.26s backwards itemIn;display:flex}.list-item:hover{border-color:var(--border-dk);box-shadow:var(--sh)}.list-item--teacher{align-items:stretch;gap:.75rem;padding-left:0;overflow:hidden}.list-item--teacher:before{content:"";background:var(--pine);border-radius:2px 0 0 2px;flex-shrink:0;width:4px}.list-item--teacher[data-etat="3/4"]:before{background:var(--denim)}.list-item--teacher[data-etat="1/2"]:before{background:var(--brass)}.list-item--teacher .list-item-body{padding:.25rem 0}.list-item--teacher .btn-remove{margin:auto 0}.list-item-body{flex-direction:column;flex:1;min-width:0;display:flex}.list-item-body strong{color:var(--text);font-size:.875rem;font-weight:600}.item-meta{color:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.775rem;overflow:hidden}.teacher-etat-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.teacher-etat-row select{border:1px solid var(--border);color:var(--text);cursor:pointer;transition:border-color var(--t-fast);background:#fff;border-radius:6px;padding:3px 6px;font-family:inherit;font-size:.775rem}.teacher-etat-row select:focus{border-color:var(--pine);outline:none}input.nadg-inp{border:1px solid var(--border);text-align:center;width:50px;font-size:.775rem;font-family:var(--font-mono);color:var(--text);transition:border-color var(--t-fast);background:#fff;border-radius:6px;padding:3px 5px}input.nadg-inp:focus{border-color:var(--pine);outline:none;box-shadow:0 0 0 2px #15181f1f}.etat-sep{color:var(--text-xs);font-size:.8rem;font-weight:600}.etat-label{color:var(--text-sm);font-size:.73rem}.etat-result{font-family:var(--font-mono);color:var(--pine-dk);background:var(--pine-lt);white-space:nowrap;border:1px solid #15181f2e;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.etat-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.etat-row select{flex-shrink:0;font-size:.825rem}.class-list{flex-direction:column;gap:.5rem;display:flex}.class-block{border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--t-fast), box-shadow var(--t-fast);animation:.26s backwards itemIn;overflow:hidden}.class-block:has(.class-row:hover){border-color:var(--border-dk)}.class-row{background:var(--bg-sub);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--t-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.class-row:hover{background:var(--pine-lt)}.class-arrow{color:var(--text-xs);flex-shrink:0;font-size:.65rem}.class-name{font-size:.9rem;font-weight:600}.class-meta{color:var(--text-sm);flex:1;font-size:.775rem}.warn-text{color:var(--brass-dk)}.meta-wych{color:var(--pine-dk)}.class-body{border-top:1px solid var(--border);background:#fff;flex-direction:column;gap:.4rem;padding:1rem;display:flex}.wychowawca-row{background:var(--pine-lt);border-radius:var(--radius-xs);border:1px solid #15181f29;flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:.25rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.wychowawca-label{color:var(--pine-dk);flex-shrink:0;min-width:82px;font-weight:600}.wychowawca-row select{background:#fff;flex:1;min-width:0;font-size:.825rem}.meta-wych{color:var(--pine-dk);margin-left:.5rem;font-size:.75rem}.req-row{background:var(--bg);border-radius:var(--radius-xs);transition:border-color var(--t-fast);border:1px solid #0000;align-items:center;gap:.625rem;padding:.4rem .625rem;font-size:.8rem;display:flex}.req-row:hover{border-color:var(--border)}.req-subject{color:var(--text);flex:1.5;font-weight:500}.req-hours{color:var(--pine-dk);font-size:.72rem;font-weight:700;font-family:var(--font-mono);background:var(--pine-lt);border-radius:4px;flex-shrink:0;padding:2px 7px}.req-teacher{color:var(--text-sm);flex:2;font-size:.77rem}.req-hours-edit{color:var(--pine-dk);flex-shrink:0;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;display:flex}.req-hours-edit input{text-align:center;width:52px;color:var(--pine-dk);font-size:.8rem;font-weight:700;font-family:var(--font-mono);padding:.25rem .375rem}.req-teacher-select{background:#fff;flex:2;min-width:0;font-size:.77rem}.req-teacher-select--missing{border-color:var(--brass);color:var(--brass-dk)}.req-row--hw{background:var(--denim-lt);border-color:#3f4a632e}.req-row--hw:hover{border-color:#3f4a6352}.hw-badge{color:var(--denim-dk);background:var(--denim-lt);letter-spacing:.02em;border:1px solid #3f4a6333;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:600}.req-add{border-top:1px dashed var(--border);align-items:stretch;gap:.5rem;margin-top:.375rem;padding-top:.75rem;display:flex}.req-add select{flex:2;min-width:0;font-size:.825rem}.req-add input.hours-inp{flex-shrink:0;width:75px;font-size:.825rem}.req-add select:last-of-type{flex:2;min-width:0}.btn-add-req{background:var(--pine-dk);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity var(--t-fast), transform var(--t-fast);border:none;border-radius:8px;flex-shrink:0;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;box-shadow:0 2px 6px #15181f47}.btn-add-req:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-add-req:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-split{color:var(--denim-dk);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);background:#fff;border:1px solid #3f4a634d;border-radius:7px;flex-shrink:0;padding:.3rem .6rem;font-family:inherit;font-size:.72rem;font-weight:600}.btn-split:hover{background:var(--denim-lt)}.btn-split--active{background:var(--denim-dk);color:#fff;border-color:var(--denim-dk)}.btn-split--active:hover{opacity:.88}.req-row--split{background:var(--denim-lt);border:1px solid #3f4a632e;flex-direction:column;align-items:stretch;gap:.5rem;padding:.5rem .625rem .625rem}.req-split-head{align-items:center;gap:.625rem;display:flex}.req-split-groups{flex-direction:column;gap:.375rem;padding-left:.25rem;display:flex}.req-group-row{align-items:center;gap:.4rem;display:flex}.group-name-inp{flex:1;min-width:0;padding:.3rem .5rem;font-size:.77rem}.req-group-row .req-teacher-select{background:#fff;flex:2;font-size:.77rem}.req-group-row .room-inp{flex:1;min-width:0;font-size:.77rem}.btn-add-group{color:var(--denim-dk);cursor:pointer;background:0 0;border:1px dashed #3f4a6366;border-radius:7px;align-self:flex-start;padding:.3rem .7rem;font-family:inherit;font-size:.74rem;font-weight:600}.btn-add-group:hover{background:#3f4a6314}.progress-bar-track{z-index:9999;background:#0f172a1f;height:3px;position:fixed;top:0;left:0;right:0}.progress-bar-fill{background:linear-gradient(90deg, var(--stamp), var(--ink));height:100%;transition:width .6s ease-out;box-shadow:0 0 10px #d93a2a80}.btn-progress{font-family:var(--font-mono);opacity:.85;font-variant-numeric:tabular-nums;text-align:right;min-width:2.5rem;margin-left:auto;font-size:.8rem}.draft-restore{background:var(--brass-lt);border:1.5px solid var(--brass-bd);border-radius:var(--radius-sm);box-shadow:var(--sh);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.125rem;display:flex}.draft-restore-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.draft-restore-text strong{color:var(--brass-dk);font-size:.9rem;font-weight:700}.draft-restore-text span{color:var(--text-md);font-size:.8rem}.draft-restore-actions{flex-shrink:0;gap:.5rem;display:flex}.demo-banner{background:linear-gradient(135deg, var(--success-lt) 0%, #f0fdf9 100%);border-radius:var(--radius-sm);border:1.5px solid #a7f3d0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #05966914}.demo-banner-text{flex-direction:column;gap:.2rem;display:flex}.demo-banner-text strong{color:#065f46;font-size:.9rem;font-weight:600}.demo-banner-text span{color:var(--success);font-size:.8rem}.demo-banner-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn-demo{background:var(--success);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex;box-shadow:0 2px 8px #05966940}.btn-demo:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 4px 12px #05966952}.btn-demo:active{transform:none}.btn-demo--outline{color:#065f46;box-shadow:none;background:0 0;border:1.5px solid #6ee7b7}.btn-demo--outline:hover{opacity:1;background:#d1fae5}.empty-hint{color:var(--text-sm);padding:.5rem 0;font-size:.85rem}.generate-hint{color:var(--text-sm);text-align:center;margin-top:-.5rem;font-size:.8rem}.btn-generate{background:var(--ink);color:#fff;border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.01em;width:100%;box-shadow:0 4px 16px #15181f47, var(--sh-in);transition:transform var(--t-fast), box-shadow var(--t-fast);border:none;justify-content:center;align-items:center;gap:.625rem;padding:1rem;font-family:inherit;font-size:1rem;font-weight:600;display:flex;position:relative;overflow:hidden}.btn-generate:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 30%,#d93a2ae6 50%,#0000 70%) 150% 0/220% 100%;transition:background-position .55s;position:absolute;inset:0}.btn-generate:hover:not(:disabled){box-shadow:0 8px 24px #15181f5c, var(--sh-in);transform:translateY(-1px)}.btn-generate:hover:not(:disabled):after{background-position:-70% 0}.btn-generate:active:not(:disabled){transform:none}.btn-generate:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tt-wrapper{flex-direction:column;gap:1rem;display:flex}.plan-toolbar{justify-content:space-between;align-items:center;display:flex}.plan-toolbar-right{gap:.5rem;display:flex}.btn-back,.btn-tool{border:1.5px solid var(--border);color:var(--text-md);cursor:pointer;transition:all var(--t-fast);background:#fff;border-radius:8px;padding:.45rem .9rem;font-family:inherit;font-size:.825rem;font-weight:500}.btn-back:hover,.btn-tool:hover{border-color:var(--pine);color:var(--pine-dk);background:var(--pine-lt)}.btn-tool-on,.btn-tool-on:hover{background:var(--pine);color:#fff;border-color:var(--pine)}.edit-hint{background:var(--pine-lt);border:1px solid var(--border-dk);border-radius:var(--radius-sm);color:var(--text-md);margin-bottom:1rem;padding:.6rem .95rem;font-size:.85rem}.eh-move{color:#1a8f5a;font-weight:700}.eh-swap{color:var(--brass-dk);font-weight:700}.stat-chip.sc-edited .sc-value{color:var(--brass-dk)}.wb-edited{color:var(--text-md);margin:.5rem 0 0;font-size:.8rem;font-style:italic}.tt-edit td.tt-selectable,.tt-edit td.tt-target,.tt-edit td.tt-sel{cursor:pointer}.tt-edit td.tt-selectable:hover{outline:2px solid var(--pine);outline-offset:-2px}.tt-edit td.tt-sel{outline:3px solid var(--stamp);outline-offset:-3px;box-shadow:inset 0 0 0 100px #d93a2a1a}.tt-edit td.tt-target-move{outline-offset:-2px;outline:2px dashed #1a8f5a;background:#1a8f5a24!important}.tt-edit td.tt-target-move:hover{background:#1a8f5a42!important}.tt-edit td.tt-target-swap{outline:3px dashed var(--brass);outline-offset:-3px}.tt-edit td.tt-target-swap:hover{box-shadow:inset 0 0 0 100px #c9820f29}.warnings-box{background:var(--brass-lt);border:1px solid var(--brass-bd);border-left:4px solid var(--brass);border-radius:var(--radius-sm);color:var(--brass-dk);padding:.875rem 1.125rem;font-size:.875rem}.warnings-box ul{margin-top:.375rem;padding-left:1.25rem}.warnings-box li{margin-bottom:.2rem}.stats-bar{flex-wrap:wrap;gap:.75rem;display:flex}.stat-chip{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--sh);align-items:center;gap:.625rem;padding:.625rem 1rem;display:flex}.sc-label{color:var(--text-sm);font-size:.75rem}.sc-value{font-family:var(--font-mono);color:var(--text);font-size:1.125rem;font-weight:700}.sc-ok .sc-value{color:var(--success)}.sc-warn .sc-value{color:var(--brass-dk)}.variant-ranking{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sh);padding:1rem 1.125rem}.vr-head{flex-wrap:wrap;align-items:baseline;gap:.625rem;margin-bottom:.75rem;display:flex}.vr-head strong{color:var(--text);font-size:.95rem}.vr-hint{color:var(--text-sm);font-size:.78rem}.vr-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.625rem;display:grid}.vr-card{text-align:left;cursor:pointer;background:var(--bg-sub);border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:all var(--t-fast);flex-direction:column;gap:.5rem;padding:.75rem .875rem;font-family:inherit;animation:.4s backwards riseIn;display:flex;position:relative}.vr-list .vr-card:first-child{animation-delay:50ms}.vr-list .vr-card:nth-child(2){animation-delay:.11s}.vr-list .vr-card:nth-child(3){animation-delay:.17s}.vr-list .vr-card:nth-child(4){animation-delay:.23s}.vr-card:hover{border-color:var(--pine);background:var(--pine-lt);transform:translateY(-2px)}.vr-card.active{border-color:var(--pine);background:var(--pine-lt);box-shadow:0 0 0 3px var(--pine-lt), var(--sh)}.vr-rank{align-items:center;gap:.5rem;display:flex}.vr-rank-nr{font-family:var(--font-mono);color:var(--text-sm);font-size:.8rem;font-weight:700}.vr-best{text-transform:uppercase;letter-spacing:.05em;color:var(--success-dk);background:var(--success-lt);border:1.5px solid var(--success);border-radius:20px;align-items:center;gap:.25rem;padding:.1rem .5rem .1rem .4rem;font-size:.66rem;font-weight:700;display:inline-flex;transform:rotate(-3deg)}.vr-best:before{content:"✓";font-weight:800}.vr-score{align-items:baseline;gap:.15rem;display:flex}.vr-score-nr{font-family:var(--font-mono);font-size:1.6rem;font-weight:700;line-height:1}.vr-score-max{font-family:var(--font-mono);color:var(--text-xs);font-size:.8rem;font-weight:600}.ocena-good .vr-score-nr{color:var(--success)}.ocena-mid .vr-score-nr{color:var(--brass-dk)}.ocena-low .vr-score-nr{color:var(--stamp)}.vr-metrics{flex-direction:column;gap:.15rem;font-size:.76rem;display:flex}.vr-metrics .vr-ok{color:var(--text-sm)}.vr-metrics .vr-warn{color:var(--brass-dk)}.vr-metrics .vr-bad{color:var(--stamp);font-weight:600}.vr-more{margin-top:.75rem}.vr-toggle{cursor:pointer;color:var(--pine-dk);background:0 0;border:none;align-items:center;gap:.5rem;padding:.35rem .1rem;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.vr-toggle:hover{color:var(--pine)}.vr-caret{transition:transform var(--t-fast);font-size:.7rem;display:inline-block}.vr-caret.open{transform:rotate(90deg)}.vr-list-rest{border-top:1px dashed var(--border);margin-top:.625rem;padding-top:.75rem}.view-switch{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;gap:3px;width:fit-content;padding:3px;display:flex;overflow:hidden}.vs-btn{color:var(--text-sm);cursor:pointer;transition:all var(--t-fast);background:0 0;border:none;border-radius:7px;padding:.4rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:500}.vs-btn.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 3px #15181f24}.vs-btn:hover:not(.active){color:var(--text-md);background:#ffffff80}.tt-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--sh);overflow:hidden}.tab-list{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;gap:.375rem;padding:.75rem 1rem .625rem;display:flex}.tab{color:var(--text-sm);cursor:pointer;transition:all var(--t-fast);background:0 0;border:1.5px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;display:flex}.tab:hover{background:var(--card);border-color:var(--border-dk);color:var(--text-md)}.tab.active{background:var(--card);border-color:var(--pine);color:var(--pine-dk);box-shadow:var(--sh);font-weight:600}.gap-badge{background:var(--brass);color:#fff;font-size:.7em;font-weight:700;line-height:1.4;font-family:var(--font-mono);border-radius:10px;padding:.05em .42em}.late-badge{background:var(--stamp);color:#fff;font-size:.7em;font-weight:700;line-height:1.4;font-family:var(--font-mono);border-radius:10px;margin-left:.15em;padding:.05em .42em}.teacher-stat{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:1rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.stat-warn{color:var(--brass-dk);font-weight:500}.stat-ok{color:var(--success);font-weight:500}.tt-scroll{overflow-x:auto}.tt{border-collapse:collapse;width:100%;min-width:600px}@keyframes rowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.tt tbody tr{animation:.3s backwards rowIn}.tt tbody tr:first-child{animation-delay:20ms}.tt tbody tr:nth-child(2){animation-delay:50ms}.tt tbody tr:nth-child(3){animation-delay:80ms}.tt tbody tr:nth-child(4){animation-delay:.11s}.tt tbody tr:nth-child(5){animation-delay:.14s}.tt tbody tr:nth-child(6){animation-delay:.17s}.tt tbody tr:nth-child(7){animation-delay:.2s}.tt tbody tr:nth-child(8){animation-delay:.23s}.tt tbody tr:nth-child(9){animation-delay:.26s}.tt tbody tr:nth-child(10){animation-delay:.29s}.tt tbody tr:nth-child(n+11){animation-delay:.32s}.tt thead th{text-align:left;color:var(--text-sm);background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;letter-spacing:.01em;padding:.625rem .875rem;font-size:.775rem;font-weight:600}.th-slot{width:96px;min-width:96px}.tt tbody tr:not(:last-child) td{border-bottom:1px solid var(--border)}.tt tbody tr:hover .td-slot{background:var(--paper-dk)}.td-slot{background:var(--bg);border-right:1px solid var(--border);vertical-align:middle;width:96px;padding:.5rem .875rem}.sl-nr{font-family:var(--font-mono);color:var(--pine-dk);font-size:.9rem;font-weight:700;display:block}.sl-time{font-family:var(--font-mono);color:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.66rem;display:block}.td-lesson{vertical-align:top;background:#fff;padding:.5rem .875rem}.td-empty{background:var(--bg-sub);padding:.5rem .875rem}.td-gap{background:var(--brass-lt);text-align:center;vertical-align:middle;padding:.5rem .875rem}.td-lesson.has-subj{background:hsl(var(--sh) 85% 97%);box-shadow:inset 3px 0 0 hsl(var(--sh) 62% 54%)}.td-lesson.has-subj .cell-subject{color:hsl(var(--sh) 48% 27%)}.tt tbody tr:hover .td-lesson{background:#f8faff}.tt tbody tr:hover .td-lesson.has-subj{background:hsl(var(--sh) 80% 94.5%)}.td-heavy-late{box-shadow:inset 0 0 0 2px var(--stamp);background:var(--stamp-lt)}.tt tbody tr:hover .td-heavy-late{background:var(--stamp-lt)}.cell-subject{color:var(--text);font-size:.84rem;font-weight:600;line-height:1.3}.cell-sub{color:var(--text-sm);margin-top:.1rem;font-size:.72rem}.cell-room{white-space:nowrap;font-family:var(--font-mono)}.cell-joint{color:var(--denim-dk);margin-top:.1rem;font-size:.68rem;font-weight:600}.gap-label{color:var(--brass-dk);font-size:.72rem;font-weight:600}.cell-groups{flex-direction:column;gap:1px;margin-top:.1rem;display:flex}.cell-group-item{color:var(--text-sm);font-size:.68rem;line-height:1.3}.cell-group-name{color:var(--denim-dk);font-weight:600}.tt-school{min-width:max-content}.tt-school .td-lesson,.tt-school .td-empty{text-align:center;vertical-align:middle;padding:.3rem .35rem}.tt-school .cell-subject{font-size:.72rem}.tt-school .cell-sub{margin-top:0;font-size:.62rem}.tt-school .cell-group-item,.tt-school .cell-joint{font-size:.58rem}.tt-school .td-lesson.has-subj{box-shadow:none}.th-class,.td-class{z-index:2;background:var(--bg);border-right:2px solid var(--border);white-space:nowrap;font-weight:700;position:sticky;left:0}.th-class{z-index:3;vertical-align:middle;text-align:left}.td-class{color:var(--pine-dk);vertical-align:middle;padding:.5rem .75rem;font-size:.84rem}.th-day-group{text-align:center;color:var(--pine-dk);border-bottom:1px solid var(--border);font-weight:700}.th-lesson{text-align:center;vertical-align:top;min-width:62px;padding:.4rem .35rem}.th-lesson .sl-nr{display:block}.th-lesson .sl-time{font-size:.58rem;display:block}.tt-school .day-col-start{border-left:2px solid var(--pine)}.extras-card{margin-top:1rem}.extras-title{color:var(--text);margin:0 0 .75rem;font-size:.95rem;font-weight:600}.extras-table td{color:var(--text);padding:.5rem .875rem;font-size:.8rem}.extras-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--border)}.room-inp{width:90px;font-family:var(--font-mono)}.teacher-etat-row .room-inp{width:64px;padding:.25rem .4rem}.wf-group{border:1px solid var(--border);background:var(--bg-sub);border-radius:10px;flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.5rem .625rem;display:flex}.wf-group-head{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.wf-group .day-pills{flex:1;margin:0}.wf-group-label{color:var(--text-sm);white-space:nowrap;font-size:.78rem;font-weight:600}.wf-group .warn-text{font-size:.75rem}.wf-split{border-top:1px dashed var(--border);flex-direction:column;gap:.375rem;padding-top:.375rem;display:flex}.wf-split .req-split-groups{padding-left:0}.wf-split .req-group-row .req-teacher-select{flex:2}@media (width<=700px){.row-3{grid-template-columns:1fr 1fr}.req-add{flex-wrap:wrap}.req-add input.hours-inp{width:60px}.subject-grid{grid-template-columns:repeat(2,1fr)}.stats-bar{gap:.5rem}.teacher-etat-row{gap:.35rem}}@media (width<=480px){.row-3,.subject-grid{grid-template-columns:1fr}.app-main{margin:1.25rem auto}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}#jak-to-dziala,#mozliwosci{scroll-margin-top:72px}@keyframes navIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.lnd-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f1f2efb8;border-bottom:1px solid #0000;padding:.875rem 0;transition:background .25s,border-color .25s,box-shadow .25s,padding .25s;animation:.5s 80ms backwards navIn;position:fixed;top:0;left:0;right:0}.lnd-nav--solid{-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);border-bottom-color:var(--border);background:#f1f2efe6;padding:.625rem 0;box-shadow:0 6px 24px #15181f0f}.lnd-nav-inner{align-items:center;gap:1.75rem;max-width:1080px;margin:0 auto;padding:0 2rem;display:flex}.lnd-nav-logo{flex-shrink:0;align-items:center;gap:.6rem;text-decoration:none;display:flex}.lnd-mark{border:2px solid var(--ink);width:32px;height:32px;transition:transform var(--t-base);background:#fff;border-radius:7px;flex-shrink:0;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.lnd-mark i{border-right:1px solid var(--border-dk);border-bottom:1px solid var(--border-dk)}.lnd-mark i:nth-child(2),.lnd-mark i:nth-child(4){border-right:0}.lnd-mark i:nth-child(3),.lnd-mark i:nth-child(4){border-bottom:0}.lnd-mark i.on{background:var(--stamp)}.lnd-nav-logo:hover .lnd-mark{transform:rotate(-4deg)}.lnd-nav-logo-tile{background:var(--ink);color:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 3px 10px #15181f4d}.lnd-nav-logo-tile .icon{width:18px;height:18px}.lnd-nav-wordmark{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;white-space:nowrap;font-size:1.08rem;font-weight:800}.lnd-nav-ai{font-family:var(--font-mono);letter-spacing:.1em;color:var(--stamp);background:var(--stamp-lt);border:1px solid var(--stamp-glow);border-radius:20px;padding:.12rem .45rem;font-size:.6rem;font-weight:700}.lnd-nav-links{align-items:center;gap:1.5rem;margin-left:1.75rem;display:flex}.lnd-nav-link{color:var(--text-sm);transition:color var(--t-fast);padding:.25rem 0;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.lnd-nav-link:after{content:"";background:var(--stamp);transform-origin:0;height:2px;transition:transform var(--t-base);border-radius:2px;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.lnd-nav-link:hover,.lnd-nav-link:focus-visible{color:var(--ink)}.lnd-nav-link:hover:after,.lnd-nav-link:focus-visible:after{transform:scaleX(1)}.lnd-nav-actions{flex-shrink:0;align-items:center;gap:.625rem;margin-left:auto;display:flex}.lnd-nav-role{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-xs);margin-right:.35rem;font-size:.68rem}.lnd-nav-ghost{border:1.5px solid var(--border-dk);color:var(--text-md);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);background:0 0;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600}.lnd-nav-ghost:hover{border-color:var(--ink);color:var(--ink);background:#fff}.lnd-nav-cta{background:var(--ink);color:#fff;cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast);border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.125rem;font-family:inherit;font-size:.8125rem;font-weight:700;display:flex;box-shadow:0 4px 14px #15181f33}.lnd-nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px #15181f4d}.lnd-nav-cta:hover .lnd-arr{transform:translate(3px)}.lnd-nav-logo:focus-visible,.lnd-nav-link:focus-visible,.lnd-nav-ghost:focus-visible,.lnd-nav-cta:focus-visible,.lnd-nav-burger:focus-visible{outline:2px solid var(--stamp);outline-offset:3px;border-radius:6px}.lnd-nav-burger{border:1.5px solid var(--border-dk);cursor:pointer;width:40px;height:40px;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;margin-left:auto;display:none}.lnd-nav-burger:hover{border-color:var(--ink)}.lnd-nav-burger span{background:var(--ink);border-radius:2px;width:17px;height:2px;transition:transform .22s,opacity .22s;display:block}.lnd-nav--open .lnd-nav-burger span:first-child{transform:translateY(7px)rotate(45deg)}.lnd-nav--open .lnd-nav-burger span:nth-child(2){opacity:0}.lnd-nav--open .lnd-nav-burger span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.lnd-nav-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f1f2eff7;flex-direction:column;gap:.25rem;padding:.875rem 2rem 1.25rem;animation:.22s backwards navIn;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 40px #15181f24}.lnd-nav-menu-link{color:var(--text-md);border-bottom:1px solid var(--border);transition:color var(--t-fast);padding:.75rem .25rem;font-size:.9375rem;font-weight:500;text-decoration:none}.lnd-nav-menu-link:hover{color:var(--ink)}.lnd-nav-menu-actions{gap:.625rem;margin-top:.875rem;display:flex}.lnd-nav-menu-actions .lnd-nav-cta{flex:1;justify-content:center}@media (width<=800px){.lnd-nav-links,.lnd-nav-actions{display:none}.lnd-nav-burger,.lnd-nav--open .lnd-nav-menu{display:flex}.lnd-nav-inner{padding:0 1.25rem}}@media (prefers-reduced-motion:reduce){.lnd-nav,.lnd-nav-menu{animation:none!important}}.lnd-nav-userbtn{border:1.5px solid var(--border-dk);color:var(--text-md);cursor:pointer;white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast);background:#fff;border-radius:20px;align-items:center;gap:.5rem;padding:.25rem .875rem .25rem .3rem;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.lnd-nav-userbtn:hover{border-color:var(--ink)}.lnd-nav-userbtn:focus-visible{outline:2px solid var(--stamp);outline-offset:3px}.lnd-nav-username{text-overflow:ellipsis;max-width:150px;overflow:hidden}.lnd-nav-menu-user{justify-content:flex-start;margin-top:.625rem}.lnd-nav-menu-user .lnd-nav-username{max-width:none}.profile-card{flex-wrap:wrap;align-items:center;gap:1.125rem;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--pine), var(--denim));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;font-size:1.25rem;font-weight:700;display:grid;box-shadow:0 4px 14px #15181f59}.profile-id{flex:1;min-width:0}.profile-name{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.profile-email{color:var(--text-sm);margin-top:.1rem;font-size:.85rem}.btn-logout{border:1.5px solid var(--border);color:var(--text-md);cursor:pointer;transition:all var(--t-fast);background:#fff;border-radius:8px;flex-shrink:0;padding:.5rem 1.125rem;font-family:inherit;font-size:.825rem;font-weight:600}.btn-logout:hover{color:var(--stamp);background:var(--stamp-lt);border-color:#fca5a5}.plan-row{align-items:center}.plan-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.plan-row .btn-remove-sm{padding:.35rem .625rem;font-size:.75rem}@media (width<=560px){.plan-row{flex-wrap:wrap}.plan-row-actions{justify-content:flex-start;width:100%}}.btn-remove-sm--confirm{background:var(--stamp-lt);color:var(--stamp);border-color:#fca5a5;font-weight:600}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a11288c;justify-content:center;align-items:center;padding:1.25rem;animation:.2s overlayIn;display:flex;position:fixed;inset:0}.login-modal{background:var(--card);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--sh-lg);padding:2rem 1.75rem 1.5rem;animation:.28s cubic-bezier(.2,.9,.3,1.1) modalIn;position:relative}.modal-close{border:1px solid var(--border);width:32px;height:32px;color:var(--text-sm);cursor:pointer;transition:all var(--t-fast);background:0 0;border-radius:8px;place-items:center;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{background:var(--bg);color:var(--text);border-color:var(--border-dk)}.login-brand{justify-content:center;margin-bottom:.875rem;display:flex}.login-brand .lnd-nav-logo-tile{border-radius:12px;width:44px;height:44px}.login-brand .icon{width:22px;height:22px}.login-title{font-family:var(--font-display);color:var(--text);text-align:center;letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.login-sub{color:var(--text-sm);text-align:center;margin-top:.25rem;margin-bottom:1.125rem;font-size:.85rem}.login-switch{width:100%;margin-bottom:1.125rem}.login-switch .vs-btn{flex:1}.login-form{flex-direction:column;display:flex}.login-error{color:var(--stamp-dk);background:var(--stamp-lt);border-radius:var(--radius-xs);border:1px solid #fca5a5;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8125rem}.login-submit{padding:.8125rem;font-size:.9375rem}.login-hint{color:var(--text-xs);text-align:center;border-top:1px dashed var(--border);margin-top:1rem;padding-top:.875rem;font-size:.72rem;line-height:1.5}input.login-code{font-family:var(--font-mono);text-align:center;letter-spacing:.45em;padding:.625rem .5rem .625rem .95rem;font-size:1.35rem;font-weight:700}.login-resend{font:inherit;color:var(--pine);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.login-resend:hover{color:var(--pine-dk)}.login-divider{color:var(--text-xs);align-items:center;gap:.75rem;margin:1.125rem 0 .875rem;font-size:.75rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-google{justify-content:center;min-height:44px;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landingExit{to{opacity:0;transform:translateY(-20px)}}@keyframes appEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.landing{background:var(--paper);flex-direction:column;min-height:100svh;display:flex}.landing--exit{pointer-events:none;animation:.34s forwards landingExit}.lnd-hero{background:var(--paper);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.lnd-hero-inner{z-index:1;text-align:center;grid-template-columns:1fr;justify-items:center;gap:3rem;width:100%;max-width:1120px;margin:0 auto;padding:7rem 2rem 4.5rem;display:grid;position:relative}@media (width>=920px){.lnd-hero-inner{text-align:left;grid-template-columns:1.02fr .98fr;place-items:center stretch;padding:8rem 2rem 5.5rem}}.lnd-hero-text{flex-direction:column;align-items:center;display:flex}@media (width>=920px){.lnd-hero-text{align-items:flex-start}}.lnd-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-sm);align-items:center;gap:.6rem;margin-bottom:1.5rem;font-size:.74rem;animation:.5s 50ms backwards fadeInUp;display:inline-flex}.lnd-eyebrow:before{content:"";background:var(--stamp);width:26px;height:1.5px}.lnd-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.55rem,6vw,4.5rem);font-weight:800;line-height:.98;animation:.5s .18s backwards fadeInUp}.lnd-u{white-space:nowrap;position:relative}.lnd-u:after{content:"";background:var(--stamp);transform-origin:0;border-radius:2px;height:.15em;animation:.7s .55s backwards penStroke;position:absolute;bottom:.04em;left:-2px;right:-2px;transform:rotate(-.6deg)}@keyframes penStroke{0%{transform:scaleX(0)rotate(-.6deg)}to{transform:scaleX(1)rotate(-.6deg)}}.lnd-sub{color:var(--text-sm);max-width:33rem;margin:1.6rem 0 1.9rem;font-size:1.09rem;line-height:1.62;animation:.5s .3s backwards fadeInUp}.lnd-sub b{color:var(--ink-soft);font-weight:600}.lnd-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;animation:.5s .42s backwards fadeInUp;display:flex}@media (width>=920px){.lnd-actions{justify-content:flex-start}}.lnd-btn-primary{background:var(--ink);color:#fff;cursor:pointer;transition:transform var(--t-fast), box-shadow var(--t-fast);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.8125rem 1.6rem;font-family:inherit;font-size:.9375rem;font-weight:600;display:flex;box-shadow:0 6px 20px #15181f33}.lnd-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px #15181f47}.lnd-btn-primary:active{transform:none}.lnd-arr{transition:transform var(--t-fast);font-size:1.1rem}.lnd-btn-primary:hover .lnd-arr{transform:translate(3px)}.lnd-btn-ghost{border:1.5px solid var(--border-dk);color:var(--ink);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border-radius:10px;padding:.8125rem 1.6rem;font-family:inherit;font-size:.9375rem;font-weight:600}.lnd-btn-ghost:hover{border-color:var(--ink);background:#fff}.lnd-hint{font-family:var(--font-mono);color:var(--text-xs);letter-spacing:.02em;margin-top:1.25rem;font-size:.74rem;animation:.5s .54s backwards fadeInUp}.lnd-hint b{color:var(--text-sm);font-weight:600}.sg{justify-self:center;width:100%;max-width:440px;animation:.6s .28s backwards fadeInUp;position:relative}@media (width>=920px){.sg{justify-self:end}}.sg-card{background:var(--card);border:1px solid var(--border);box-shadow:0 30px 60px -22px #15181f57, 0 2px 0 var(--border);border-radius:14px;padding:1rem 1rem 1.1rem;animation:8s ease-in-out 3s infinite sgFloat;position:relative;transform:rotate(.5deg)}@keyframes sgFloat{0%,to{transform:translateY(0)rotate(.5deg)}50%{transform:translateY(-8px)rotate(1.1deg)}}.sg-head{align-items:center;gap:.5rem;padding:.1rem .25rem .85rem;display:flex}.sg-hole{background:var(--paper);border:1px solid var(--border-dk);border-radius:50%;width:8px;height:8px}.sg-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-sm);margin-left:.375rem;font-size:.7rem}.sg-status{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border-dk);color:var(--text-sm);white-space:nowrap;border-radius:20px;margin-left:auto;padding:.16rem .5rem;font-size:.64rem;transition:color .3s,border-color .3s,background .3s}.sg.solved .sg-status{color:var(--success-dk);border-color:var(--success);background:var(--success-lt)}.sg-grid{grid-template-columns:34px repeat(5,1fr);gap:4px;display:grid}.sg-gh{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-xs);text-align:center;padding-bottom:4px;font-size:.62rem;font-weight:600}.sg-gutter{font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex}.sg-gutter .n{color:var(--ink);font-size:.7rem;font-weight:700}.sg-gutter .t{color:var(--text-xs);font-size:.52rem}.sg-cell{border:1px solid var(--border);height:38px;animation:.38s cubic-bezier(.34,1.56,.64,1) backwards sgCellIn;animation-delay:var(--d);background:#fff;border-radius:5px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@keyframes sgCellIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}.sg-cell .code{font-family:var(--font-mono);letter-spacing:.02em;color:var(--c,#333);z-index:1;font-size:.66rem;font-weight:700}.sg-cell.tint{background:color-mix(in srgb, var(--c) 9%, #fff)}.sg-cell.tint:before{content:"";background:var(--c);width:3px;position:absolute;top:0;bottom:0;left:0}.sg-cell.empty{background:repeating-linear-gradient(45deg,#0000 0 5px,#15181f09 5px 6px)}.sg-cell.empty .code{color:var(--text-xs)}.sg-cell.gap{border-color:var(--stamp);border-style:dashed}.sg-cell.gap .code{color:var(--stamp)}.sg-cell.conflict{border-color:var(--stamp);box-shadow:0 0 0 2px #d93a2a2e}.sg-cell .bang{background:var(--stamp);color:#fff;z-index:3;width:15px;height:15px;font-size:.58rem;font-weight:800;font-family:var(--font-body);border-radius:50%;place-items:center;transition:opacity .3s;display:grid;position:absolute;top:-6px;right:-6px}.sg-cell .swap-in{opacity:0;position:absolute}.sg.solved .sg-cell.conflict{border-color:var(--border);box-shadow:none}.sg.solved .sg-cell.conflict .code.was{opacity:0}.sg.solved .sg-cell.conflict .swap-in{opacity:1;transition:opacity .4s .1s}.sg.solved .sg-cell.conflict .bang{opacity:0}.sg-cell.sg-flash{animation:.7s sgOkFlash}@keyframes sgOkFlash{0%{box-shadow:0 0 #2f915280}to{box-shadow:0 0 0 8px #2f915200}}.sg-scanline{pointer-events:none;opacity:0;background:linear-gradient(#d93a2a00,#d93a2a24,#d93a2a00);border-top:1.5px solid #d93a2a8c;border-bottom:1.5px solid #d93a2a8c;border-radius:4px;height:44px;position:absolute;top:56px;left:16px;right:16px}.sg.scanning .sg-scanline{animation:1.15s cubic-bezier(.6,0,.4,1) forwards sgScan}@keyframes sgScan{0%{opacity:1;transform:translateY(0)}92%{opacity:1}to{opacity:0;transform:translateY(200px)}}.sg-stamp{width:100px;height:100px;color:var(--stamp);z-index:5;text-align:center;border:2.5px solid var(--stamp);opacity:0;background:#fbfbf9b8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-14px;right:-16px;transform:rotate(-13deg)scale(.4);box-shadow:inset 0 0 0 3px #d93a2a24}.sg-chk{font-size:1.45rem;font-weight:800;line-height:1}.sg-stamp-text{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:1px;font-size:.58rem;font-weight:700;line-height:1.2}.sg.solved .sg-stamp{animation:.55s cubic-bezier(.2,.9,.3,1.3) .15s forwards sgStampDrop}@keyframes sgStampDrop{0%{opacity:0;transform:rotate(-24deg)scale(1.5)}60%{opacity:.95;transform:rotate(-10deg)scale(.92)}to{opacity:.95;transform:rotate(-13deg)scale(1)}}.sg-replay{z-index:6;font-family:var(--font-mono);color:var(--text-xs);cursor:pointer;background:0 0;border:none;gap:.35rem;padding:4px;font-size:.68rem;display:inline-flex;position:absolute;top:-26px;left:2px}.sg-replay:hover{color:var(--stamp)}.sg-replay:focus-visible{outline:2px solid var(--stamp);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.sg,.sg-card,.sg-cell,.sg-stamp,.sg-scanline,.lnd-title,.lnd-sub,.lnd-actions,.lnd-hint,.lnd-eyebrow,.lnd-u:after{animation:none!important}.sg-cell{opacity:1;transform:none}.sg-card{transform:rotate(.5deg)}}.lnd-section-inner{max-width:1120px;margin:0 auto}.lnd-sec-head{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:2.4rem;display:flex}.lnd-sec-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--stamp);font-size:.72rem}.lnd-sec-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.6rem,3.2vw,2.35rem);font-weight:700;line-height:1.05}.lnd-steps{border-top:1px solid var(--border);background:var(--paper);padding:4.5rem 2rem}.lnd-steps-list{border-top:1px solid var(--ink)}.lnd-step{border-bottom:1px solid var(--border);transition:background var(--t-base);grid-template-columns:70px 1fr auto;align-items:center;gap:1.5rem;padding:1.4rem .25rem;display:grid}.lnd-step:hover{background:var(--bg-sub)}.lnd-step-nr{font-family:var(--font-mono);color:var(--ink);font-size:1.5rem;font-weight:700}.lnd-step-body{min-width:0}.lnd-step-label{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.18rem;font-weight:700}.lnd-step-sub{color:var(--text-sm);margin-top:.1rem;font-size:.95rem}.lnd-step-tick{border:1.5px solid var(--border-dk);width:26px;height:26px;color:var(--text-xs);transition:border-color var(--t-base), color var(--t-base);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;display:grid}.lnd-step:hover .lnd-step-tick{border-color:var(--stamp);color:var(--stamp)}@media (width<=600px){.lnd-step{grid-template-columns:44px 1fr;gap:1rem}.lnd-step-tick{display:none}}.lnd-features{background:var(--bg-sub);border-top:1px solid var(--border);padding:4.5rem 2rem}.lnd-feat-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}@media (width<=760px){.lnd-feat-grid{grid-template-columns:1fr}}.lnd-feat{border-right:1px solid var(--border);transition:background var(--t-base);flex-direction:column;gap:.6rem;padding:1.9rem 1.6rem;display:flex;position:relative}.lnd-feat:last-child{border-right:0}.lnd-feat:hover{background:var(--bg-sub)}@media (width<=760px){.lnd-feat{border-right:0;border-bottom:1px solid var(--border)}.lnd-feat:last-child{border-bottom:0}}.lnd-feat-icon{border:1.5px solid var(--ink);width:2.5rem;height:2.5rem;color:var(--ink);transition:transform var(--t-base);background:#fff;border-radius:9px;place-items:center;display:grid}.lnd-feat-icon .icon{width:1.35rem;height:1.35rem}.lnd-feat:hover .lnd-feat-icon{transform:rotate(-4deg)}.lnd-feat--key .lnd-feat-icon{border-color:var(--stamp);color:var(--stamp)}.lnd-feat-metric{font-family:var(--font-mono);color:var(--stamp);font-size:1.4rem;font-weight:700;line-height:1;position:absolute;top:1.6rem;right:1.6rem}.lnd-feat-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.12rem;font-weight:700}.lnd-feat-desc{color:var(--text-sm);font-size:.92rem;line-height:1.6}.lnd-cta{background:var(--ink);text-align:center;justify-content:center;align-items:center;padding:5rem 2rem;display:flex;position:relative;overflow:hidden}.lnd-cta .bg-kratka{--kratka-line:#ffffff0f;-webkit-mask-image:radial-gradient(90% 120% at 70% 30%,#000 30%,#0000 100%);mask-image:radial-gradient(90% 120% at 70% 30%,#000 30%,#0000 100%)}.lnd-cta-inner{z-index:1;flex-direction:column;align-items:center;gap:1.1rem;display:flex;position:relative}.lnd-cta-title{font-family:var(--font-display);color:#fff;letter-spacing:-.03em;text-wrap:balance;max-width:18ch;font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1.02}.lnd-cta-title em{color:#ff6a58;font-style:normal}.lnd-cta-sub{color:#ffffffa8;max-width:42ch;font-size:1rem}.lnd-cta .lnd-btn-primary{color:var(--ink);background:#fff;box-shadow:0 6px 20px #00000059}.lnd-cta .lnd-btn-primary:hover{box-shadow:0 10px 28px #00000073}.lnd-btn-ghost--dk{color:#fff;background:#ffffff0f;border-color:#ffffff4d;padding:.75rem 1.5rem;font-size:.875rem}.lnd-btn-ghost--dk:hover{background:#ffffff1f;border-color:#fff}.lnd-footer{max-width:1120px;font-family:var(--font-mono);color:var(--text-xs);letter-spacing:.03em;border-top:1px solid var(--border);background:var(--paper);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0 auto;padding:1.75rem 2rem;font-size:.72rem;display:flex}.app-shell-enter{animation:.4s backwards appEnter}.print-only{display:none}@media print{.no-print,.warnings-box,.stats-bar,.view-switch,.variant-ranking,.plan-toolbar,.tt-card{display:none!important}.app{background:#fff}.tt-wrapper{gap:0}.print-only{display:block!important}html,body,#root,.app,.app-shell-enter,.app-main,.tt-wrapper,.tt-wrapper>*,.setup,.setup>*,.print-only,.print-page{filter:none!important;will-change:auto!important;opacity:1!important;height:auto!important;min-height:0!important;max-height:none!important;animation:none!important;overflow:visible!important;transform:none!important}.app,.tt-wrapper{display:block!important}.app-main{max-width:none!important;margin:0!important;padding:0!important}@page{size:A4 portrait;margin:12mm}.print-page{page-break-after:always;break-inside:avoid}.print-page:last-child{page-break-after:auto}.print-head{align-items:baseline;gap:.6rem;margin:0 0 8px;display:flex}.print-head h2{color:#000;margin:0;font-size:15pt}.print-sub{color:#444;font-size:9.5pt}.print-tt{border-collapse:collapse;table-layout:fixed;width:100%}.print-tt thead{display:table-header-group}.print-tt th,.print-tt td{vertical-align:top;text-align:left;color:#000;word-break:break-word;border:1px solid #444;padding:3px 5px;font-size:9.5pt}.print-tt thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:9pt;background:#e9e9e4!important}.pt-slot-h{width:12%}.pt-slot{white-space:nowrap}.pt-slot b{margin-right:4px;display:inline-block}.pt-slot span{color:#555;font-size:8pt}.pt-subj{font-weight:700;line-height:1.15}.pt-sub{color:#333;font-size:8pt;line-height:1.15}}
