:root{font-family:Tahoma,Verdana,Arial,sans-serif;color:#111;background:#234252;font-size:16px;--silver:#c6c7c9;--blue:#0042a4;--navy:#000b32;--green:#69ff38;--yellow:#fff239;--edge:#72a8c5}
*{box-sizing:border-box}body{margin:0;padding:12px}a{color:#0000b0;text-decoration:underline;text-underline-offset:2px}a:hover{color:#b00000}button,input,select,textarea{font:inherit}button,.button{color:#111;border:2px solid;border-color:#fff #454545 #454545 #fff;background:#d0d0d0;border-radius:0;padding:7px 14px;cursor:pointer;font-weight:bold;display:inline-block;text-align:center}.button{text-decoration:none}button:active,.button:active{border-color:#454545 #fff #fff #454545}button:disabled{color:#626262;cursor:not-allowed;text-shadow:1px 1px #fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cf4800;outline-offset:3px}p{line-height:1.5;margin:0 0 12px}h1,h2,h3{margin:0}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem;margin:12px 0 7px}ul,ol{padding-left:24px;line-height:1.55}img{max-width:100%;height:auto}figure{margin:0}small,.small{font-size:.8125rem;line-height:1.4}.mono{font-family:'Courier New',monospace}.muted{color:#505050}.shell{max-width:1536px;margin:auto;background:var(--silver);border:2px solid;border-color:#fff #171717 #171717 #fff;box-shadow:5px 5px 0 #0c1e28}.titlebar{display:flex;align-items:center;gap:8px;color:#fff;background:linear-gradient(90deg,#000078,#087ac0);padding:5px 7px;font-weight:bold;font-size:.875rem}.titlebar .window-buttons{margin-left:auto;color:#151515;letter-spacing:3px;background:#c4c4c4;border:2px outset #ddd;padding:0 3px;font-family:monospace;white-space:nowrap}.menu-strip{padding:5px 12px;font-size:.875rem;border-bottom:1px solid #858585;word-spacing:18px}.toolbar{display:flex;align-items:center;gap:20px;padding:7px 12px;border-bottom:2px groove #eee}.toolbar a,.toolbar button{font-size:.8125rem;color:#151515;text-decoration:none;padding:0;border:0;background:transparent;font-weight:normal;text-align:center}.toolbar .tool-icon{display:block;font:700 1.4rem/1.1 'Courier New',monospace;color:#055a27;text-shadow:1px 1px white}.toolbar .toolbar-status{margin-left:auto;background:#050505;color:var(--green);border:2px inset #aaa;padding:7px 13px;font: .875rem 'Courier New',monospace}.address{display:flex;gap:8px;align-items:center;padding:5px 9px;font-size:.8125rem}.address-text{background:white;border:2px inset #eee;padding:3px 8px;flex:1}.preview-tag{background:#fff3b4;padding:3px 8px;color:#433500;border:1px solid #968446;font-weight:bold;font-size:.75rem;white-space:nowrap}.masthead{margin:0 5px;background:#030e31;color:white;border:2px inset #abc;display:grid;grid-template-columns:1fr 260px;min-height:170px}.brand{position:relative;padding:22px 24px 17px;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#020923 25%,#001330a8 75%,#00133030),url('assets/gula-villan-thumb.jpg') right 54%/auto 320px no-repeat}.brand:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#0002 3px 4px);z-index:-1}.brand-title{font-family:'Courier New',monospace;font-weight:1000;letter-spacing:-2px;font-size:clamp(1.7rem,3.4vw,3.4rem);line-height:1.03;color:#fff;text-shadow:3px 3px #124d9a,0 0 8px #3b80bc;text-decoration:none;display:block;max-width:900px}.brand-title:hover{color:#fff}.brand-tag{font:bold 1.15rem 'Courier New',monospace;letter-spacing:3px;color:#9cdfff;margin:9px 0}.brand-date{font:bold 1rem 'Courier New',monospace;color:#fff39d}.organizer{font-size:.75rem;color:#cfdbef;margin-bottom:8px}.knivsta-sign{border-left:2px solid #5d88a9;padding:16px 14px;background:#d8dad6;color:#151a20;display:flex;flex-direction:column;justify-content:center;text-align:center}.knivsta-sign strong{font:700 1.6rem 'Courier New',monospace;letter-spacing:4px;padding:4px 8px;background:#14335c;border:3px double white;color:#fff;transform:rotate(-3deg);margin-bottom:10px}.knivsta-sign p{font:bold 1rem/1.35 'Courier New',monospace;margin:0}.knivsta-sign s{text-decoration-thickness:2px}.nav{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;padding:4px 5px;background:#808080}.nav a{background:linear-gradient(#082c69,#000922);border:2px outset #365f9c;color:#fff239;text-align:center;padding:10px 3px;font:700 .875rem 'Courier New',monospace;text-decoration:none}.nav a:hover{background:#144280;color:#fff}.nav a[aria-current]{background:#fff239;color:#050527;border-color:#fffbb0 #91823d #91823d #fffbb0}.content-grid{display:grid;grid-template-columns:225px minmax(0,1fr);gap:8px;padding:8px}.sidebar{display:flex;flex-direction:column;gap:8px}.main{min-width:0}.window{border:2px solid;border-color:#fff #6c7981 #6c7981 #fff;background:#ececeb;box-shadow:0 0 0 1px #9fb6c4;margin-bottom:8px;min-width:0}.window-title{background:linear-gradient(90deg,#003aa3,#0983d6);color:#fff;letter-spacing:.3px;font:bold .9375rem/1.35 Tahoma,sans-serif;padding:4px 7px;display:flex;justify-content:space-between;align-items:center;gap:8px}.window-title .close-decoration{font:700 .8125rem/1 monospace;background:#c4c4c4;border:1px outset white;color:black;padding:1px 3px}.window-body{padding:12px}.sidebar .window{margin-bottom:0}.sidebar .window-body{padding:10px}.terminal{background:#030604;color:var(--green);font:.875rem/1.6 'Courier New',monospace;padding:10px;border:2px inset #ddd;overflow-wrap:anywhere}.terminal p{margin:0 0 7px;line-height:1.5}.terminal .dim{color:#c0d0bd}.terminal .history-line{display:flex;gap:10px;color:#ecefe9;font-size:.75rem;line-height:1.8}.history-line span:first-child{flex:none;color:#a3cc9a}.history-line span:last-child{min-width:0}.terminal a{color:#efffde}.terminal .history-bottom{font-size:.75rem;color:#fff;margin:14px 0 0}.poll legend{font:bold 1.125rem 'Courier New',monospace;color:#0000a9;margin-bottom:8px}.poll fieldset{margin:0;padding:0;border:0;min-width:0}.poll label{display:flex;align-items:flex-start;gap:7px;font-size:.875rem;line-height:1.5;margin:6px 0}.poll input{flex:none;margin:4px 0 0;accent-color:navy}.poll button{display:block;margin:12px auto 8px}.notice{background:#fff5c7;border:1px solid #aa964d;padding:9px 11px;font-size:.875rem;line-height:1.5;margin:0 0 12px}.notice:empty{display:none}.poll .small{margin-bottom:0}.legend-board{background:#e3d5b5;border:3px double #6f603e;padding:13px 13px 12px;box-shadow:inset 0 0 22px #96784c55;margin-bottom:8px}.legend-head{text-align:center;font:bold italic clamp(1.35rem,2.25vw,2.3rem)/1.05 'Trebuchet MS',Arial,sans-serif;color:#17180c;margin:3px 0 17px;text-transform:uppercase;letter-spacing:-1px}.legend-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.legend-card{background:#f8efdd;padding:5px 5px 8px;border:1px solid #b1a184;box-shadow:2px 3px 0 #6b583440;text-align:center;color:#091c48;text-decoration:none;display:block;transform:rotate(-1deg)}.legend-card:nth-child(2n){transform:rotate(1deg)}.legend-card:nth-child(3n){transform:rotate(-2deg)}.legend-card:hover{color:#000;background:#fff7e9;transform:rotate(0deg)}.portrait{width:100%;aspect-ratio:1/1.07;object-fit:cover;object-position:center 35%;border:1px solid #887d64;display:block;margin-bottom:5px}.legend-card strong{font-size:.9375rem}.legend-card p{font-size:.8125rem;line-height:1.3;color:#181818;margin:4px 0 0}.legend-motto{text-align:center;font:bold italic 1.2rem 'Trebuchet MS',sans-serif;margin:16px 0 3px}.home-columns{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8px}.event-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.event-layout h2{color:#b52016;font:bold italic 1.65rem 'Trebuchet MS',sans-serif;margin-bottom:9px}.check-list{list-style:none;padding:0;margin:0;line-height:1.7;font-size:.9375rem}.check-list li:before{content:'✓';color:#13692a;font-weight:bold;margin-right:8px}.venue-photo{border:2px inset #ccc;width:100%;height:170px;object-fit:cover}.tagline{font:700 italic 1.15rem/1.2 'Trebuchet MS',sans-serif;text-align:center;margin:7px 0 10px}.cta{display:block;background:#fff044;border-color:#fffdb5 #77712a #77712a #fffdb5;color:#12143d;font-family:'Courier New',monospace}.intro{padding:5px 0 12px;font-size:.9375rem}.news-list{list-style:none;padding:0;margin:0}.news-list li{border-bottom:1px solid #aeb8c0;padding:8px 0;font-size:.875rem;line-height:1.4}.news-list li:first-child{padding-top:0}.news-list time{display:block;font:.75rem 'Courier New',monospace;color:#515563;margin-bottom:3px}.news-list a{font-weight:bold}.news-more{text-align:right;margin:10px 0 0;font-size:.875rem}.network-banner{background:linear-gradient(130deg,#000c5c,#0059ce);color:white;text-align:center;padding:15px 10px;border:3px ridge #bababa;margin-bottom:8px}.network-banner strong{display:block;font:700 1.8rem 'Courier New',monospace;letter-spacing:-1px;margin-bottom:5px}.network-banner p{font-size:.8125rem;margin:0}.game-banner{background:#151817;color:#fff;padding:15px;text-align:center;border:2px inset #999}.game-banner strong{font:bold italic 2rem 'Trebuchet MS',sans-serif;color:#f0bd5f;display:block;letter-spacing:-1px}.game-banner a{color:#fff7ae;font-size:.875rem}.game-banner p{font-size:.875rem;margin:6px 0 10px}.sponsors-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:5px}.sponsor{border:1px solid #99a9b7;background:#f1f2f0;text-align:center;padding:9px 6px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.sponsor img{width:100%;height:58px;object-fit:contain;margin-bottom:7px}.sponsor strong{display:block;font-size:.875rem;margin:4px 0}.sponsor p{font-size:.8125rem;line-height:1.35;margin:3px 0}.sponsor .sponsor-word{height:58px;display:flex;align-items:center;justify-content:center;font:bold 1.1rem 'Courier New',monospace}.sponsor .future{color:#0000aa}.sponsor .ad44{color:#002475}.sponsor .hand{font-size:2.25rem;line-height:1.6}.sponsors-note{font-size:.75rem;margin:0;padding:3px 9px 8px;color:#525252}.footer{display:flex;align-items:center;gap:14px;padding:12px;font-size:.8125rem;border-top:2px groove white;flex-wrap:wrap}.counter{background:#080808;color:#95ff25;font:1.15rem 'Courier New',monospace;border:2px inset #ccc;padding:4px 9px;letter-spacing:2px}.counter-wrap{margin-left:auto;display:flex;align-items:center;gap:8px}.counter-wrap small{color:#363636}.pi{font:2rem Georgia,serif;color:#121212;text-decoration:none;line-height:1}.statusbar{display:flex;gap:8px;padding:4px;border-top:1px solid #888;font-size:.75rem}.statusbar span{border:1px inset white;padding:3px 7px}.statusbar span:first-child{flex:1}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}.page-heading{background:#071635;color:white;border:2px inset #a7b3c0;padding:17px;margin-bottom:8px}.page-heading p{color:#b7dafa;margin:7px 0 0}.page-heading .eyebrow{font:.8125rem 'Courier New',monospace;color:#ffff64;display:block;margin-bottom:6px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reading{max-width:850px}.section-list{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 15px}.section-list a{background:#d5d5d5;border:2px outset #fff;padding:6px 8px;font-size:.875rem}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.data-table th,.data-table td{padding:10px 9px;border:1px solid #939ba3;text-align:left}.data-table th{background:#d7dde3;color:#142d56}.data-table tbody tr:nth-child(even){background:#e0e4e5}.table-scroll{overflow-x:auto}.badge{display:inline-block;background:#0c2518;color:#7aff56;padding:3px 6px;font:.8125rem 'Courier New',monospace}.badge.waiting{background:#392700;color:#fff08a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:flex;flex-direction:column;gap:5px;font-size:.9375rem}.form-field input,.form-field select,.form-field textarea{background:#fff;border:2px inset #ccc;padding:8px;width:100%;color:#111;min-width:0}.form-field textarea{min-height:110px;resize:vertical}.form-field.full,.form-grid .full{grid-column:1/-1}.checkbox-row{display:flex;gap:8px;align-items:flex-start;line-height:1.5}.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.form-help{font-size:.8125rem;color:#454545}.form-result{background:#fff;border:2px inset #ccc;padding:13px;white-space:pre-wrap;line-height:1.5;margin-top:16px}.form-result:empty{display:none}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.archive-grid img{display:block;aspect-ratio:4/3;object-fit:cover;border:3px inset #c5c5c5}.archive-grid figcaption{font-size:.875rem;line-height:1.5;margin-top:5px}.warning56k{font:bold 1.1rem 'Courier New',monospace;color:#c30000;background:#fff13a;border:2px dashed #111;padding:8px 12px;display:inline-block;margin:0 0 15px}.profile{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.profile>img{width:100%;border:7px solid #f3ead5;box-shadow:1px 3px 5px #777}.profile blockquote{margin:0 0 15px;font:700 italic 1.5rem 'Trebuchet MS',sans-serif}.stats{display:grid;grid-template-columns:max-content 1fr;gap:6px 15px;font:.875rem/1.5 'Courier New',monospace;margin:0}.stats dt{color:#9cff79}.stats dd{margin:0;color:white}.recruit{background:#111f36;color:#fff1bb;text-align:center;padding:24px;border:5px double #aba18a;margin:12px 0}.recruit h2{font:900 clamp(1.5rem,3vw,2.5rem) 'Courier New',monospace;margin-bottom:8px}.recruit .button{margin-top:10px}.article-meta{font:.8125rem 'Courier New',monospace;color:#5c5c5c;margin-bottom:8px}.guest-post{background:#fafafa;border:2px inset #ddd;padding:13px;margin-bottom:10px}.guest-post header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#dce3ec;padding:6px;margin:-6px -6px 10px;font-size:.875rem}.guest-post p{white-space:pre-wrap;margin:0}.pager{margin:14px 0;text-align:center;font-size:.875rem}.breadcrumbs{font-size:.875rem;margin-bottom:12px}.detail-photo{width:100%;max-height:360px;object-fit:cover;border:3px inset #ccc}.history-large .history-line{font-size:1rem}.history-large .history-bottom{font-size:.9375rem}details{border:1px solid #939ba3;padding:10px;background:#f5f5ef;margin-bottom:8px}summary{cursor:pointer;font-weight:bold}details p{margin:10px 0 0}.plain-link-list{line-height:1.9}.construction{font:bold .875rem 'Courier New',monospace;padding:8px;border:2px dashed #a8951b;background:#fff5a4;margin-bottom:12px}.site-error{text-align:center;padding:35px 15px}.site-error h1{font:900 3rem 'Courier New',monospace;color:#000088;margin-bottom:20px}
@media(min-width:1450px){.content-grid{grid-template-columns:250px minmax(0,1fr)}.brand{padding-top:24px}.legend-card p{font-size:.875rem}.terminal .history-line{font-size:.8125rem}}
@media(max-width:1100px){.content-grid{grid-template-columns:200px minmax(0,1fr)}.masthead{grid-template-columns:1fr 205px}.nav{grid-template-columns:repeat(5,1fr)}.home-columns{grid-template-columns:1fr}.home-right{display:grid;grid-template-columns:1fr 1fr;gap:8px}.legend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sponsors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-tag{font-size:1rem;letter-spacing:1px}.profile{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){body{padding:4px}.toolbar{gap:20px}.toolbar-status{display:none}.menu-strip{display:none}.masthead{grid-template-columns:1fr}.brand{padding:19px 15px;background-size:auto 290px}.brand-title{font-size:2.2rem;letter-spacing:-2px;max-width:600px}.brand-tag{font-size:.9375rem;letter-spacing:1px}.brand-date{font-size:.875rem;line-height:1.5}.knivsta-sign{display:block;border-left:0;border-top:2px solid #5d88a9;padding:10px}.knivsta-sign strong{display:inline-block;transform:none;font-size:1rem;letter-spacing:1px;margin:0 8px 0 0}.knivsta-sign p{display:inline;font-size:.8125rem}.content-grid{display:flex;flex-direction:column;padding:7px}.main{order:0}.sidebar{order:1;display:grid;grid-template-columns:1fr 1fr;align-items:start}.sidebar .history-window{grid-column:1/-1}.nav a{font-size:.8125rem;padding:9px 3px}.legend-grid{gap:8px}.legend-head{font-size:1.6rem}.legend-card p{font-size:.8125rem}.legend-motto{font-size:1.1rem}.footer{padding:10px;gap:10px}.counter-wrap{margin-left:0}.pi{margin-left:auto}.statusbar span:last-child{display:none}.two-col{grid-template-columns:1fr}.profile{grid-template-columns:150px 1fr;gap:15px}.stats{grid-template-columns:1fr;gap:4px}.stats dd{margin-bottom:8px}.history-large .history-line{font-size:.875rem}.address .preview-tag{font-size:.65rem}.organizer{max-width:250px}}
@media(max-width:460px){.brand-title{font-size:1.85rem}.titlebar{font-size:.75rem}.nav{grid-template-columns:repeat(3,1fr)}.nav a:last-child{grid-column:2}.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-card:last-child{grid-column:1/-1;max-width:50%;justify-self:center;width:100%}.legend-board{padding:12px}.legend-head{font-size:1.4rem}.legend-card strong{font-size:1rem}.event-layout,.home-right{grid-template-columns:1fr}.sponsors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{grid-template-columns:1fr}.sidebar .history-window{grid-column:auto}.form-grid{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profile>img{max-width:240px;margin:auto}.toolbar{gap:18px;padding:6px 8px}.toolbar a,.toolbar button{font-size:.75rem}.address{flex-wrap:wrap}.address-text{min-width:180px}.preview-tag{margin-left:auto}.page-heading{padding:13px}.window-body{padding:10px}.data-table th,.data-table td{padding:7px 5px;font-size:.8125rem}.statusbar{font-size:.6875rem}.brand-tag{font-size:.8125rem}.history-large .history-line{font-size:.8125rem}}

.refund-details{margin:16px 0;padding:16px}.refund-details h3{margin:0 0 14px}.refund-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:14px 18px}.refund-fields .form-field{gap:6px;font-weight:bold}.refund-fields input{min-height:42px}.refund-warning{margin:14px 0 0}.cancel-actions{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-top:16px}.cancel-actions .cancel-reason{min-width:220px;margin:0}.cancel-actions button{min-height:42px}@media(max-width:600px){.refund-fields{grid-template-columns:1fr}.cancel-actions{align-items:stretch}.cancel-actions .cancel-reason,.cancel-actions button{width:100%}}
.shell{border:0;box-shadow:none;padding-top:5px}.compatibility-note{padding:6px 12px 9px;font-size:.75rem;color:#424242}.masthead{margin-top:0}.close-decoration{display:none}
@media print{body{padding:0;background:white}.toolbar,.menu-strip,.address,.nav,.sidebar,.footer,.statusbar,.preview-tag{display:none}.content-grid{display:block}.shell{box-shadow:none;border:0}.main{width:100%}.window{break-inside:avoid}.brand{background:#fff;color:#000}.brand-title,.brand-date,.brand-tag{color:#000;text-shadow:none}.organizer{color:#111}.masthead{border:1px solid black}}
.poll-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center;margin:14px 0;padding:9px 11px;background:#e2e6e8;border:1px solid #a3adb3}.poll-result-label{grid-column:1/-1;font:700 .9rem/1.35 'Courier New',monospace;overflow-wrap:anywhere}.poll-result-track{grid-column:1;min-width:0}.poll-result-track meter{display:block;width:100%;height:22px}.poll-result-count{grid-column:2;font:bold .85rem/1.3 'Courier New',monospace;text-align:right;white-space:nowrap}@media(max-width:620px){.poll-result-row{gap:6px 9px;margin:12px 0;padding:8px}.poll-result-label{font-size:.84rem}.poll-result-track meter{height:20px}}
.seat-own input{position:absolute;opacity:0;pointer-events:none}

/* Compact navigation and long-page wayfinding */
.mobile-navigation{display:none}
.section-navigation{position:sticky;top:4px;z-index:20;margin:0 0 12px;padding:0;background:#e2e6e8;border:2px solid;border-color:#fff #687680 #687680 #fff;box-shadow:1px 2px 0 #64717a}
.section-navigation>summary{padding:9px 12px;color:#082d62;font:bold .9rem 'Courier New',monospace;list-style-position:inside}
.section-navigation .section-list{padding:0 10px 10px;margin:0}
.page-section-anchor{scroll-margin-top:76px}
.section-back{display:inline-block;margin:4px 0 14px;font-size:.8125rem}
.about-contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px;align-items:start}.about-contact-layout h2{color:#082d62;font-size:1.15rem;margin:0 0 10px}.about-contact-card{background:#dfe8ed;border:2px solid;border-color:#fff #758690 #758690 #fff;padding:14px}.about-contact-card p:last-of-type{margin-bottom:12px}.about-contact-card .button{width:100%;overflow-wrap:anywhere}.about-contact-panel .window-body{padding:18px}
.shell{position:relative}.site-close{position:absolute;z-index:60;top:8px;right:8px;width:21px;height:19px;padding:0;background:#c6c7c9;color:#111;border:2px solid;border-color:#fff #303030 #303030 #fff;font:bold .9rem/.8 Tahoma,sans-serif;box-shadow:1px 1px 0 #000}.site-close:hover{background:#fff;color:#a40000}.site-close:active{border-color:#303030 #fff #fff #303030;transform:translate(1px,1px)}
.ktff-crash-dialog{width:min(510px,calc(100vw - 24px));padding:3px;border:2px solid;border-color:#fff #111 #111 #fff;background:#c6c7c9;color:#111;box-shadow:5px 6px 0 #000;font-family:Tahoma,Verdana,Arial,sans-serif}.ktff-crash-dialog::backdrop{background:#00104c99;backdrop-filter:grayscale(.8)}.ktff-dialog-title{display:flex;align-items:center;gap:8px;padding:4px 5px;background:linear-gradient(90deg,#000080,#087ac0);color:#fff;font-size:.9rem}.ktff-dialog-title strong{flex:1}.ktff-dialog-title button{width:24px;height:22px;padding:0;background:#c6c7c9;color:#111;border:2px solid;border-color:#fff #333 #333 #fff;line-height:1}.ktff-dialog-body{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:20px 18px 12px}.ktff-dialog-body p{line-height:1.4}.ktff-warning-icon{display:grid;place-items:center;width:46px;height:42px;background:#fff100;color:#111;border:3px solid #111;clip-path:polygon(50% 0,100% 100%,0 100%);font:bold 1.5rem/1 Tahoma;padding-top:10px}.ktff-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:8px 12px 13px}.ktff-dialog-actions button{min-width:98px}.ktff-dialog-actions button:last-child{min-width:160px}.ktff-not-responding .shell{animation:ktff-error-jolt .28s steps(2) 2}.ktff-system-screen{position:fixed;z-index:9999;inset:0;background:#000;color:#b8ff8d;padding:clamp(20px,7vw,90px);font:clamp(.85rem,2vw,1.25rem)/1.65 'Courier New',monospace}.ktff-system-screen-inner{max-width:900px;margin:auto}.ktff-system-screen pre{white-space:pre-wrap;margin:0 0 28px;font:inherit}.ktff-system-screen.is-terminated{background:#000080;color:#fff}.ktff-system-screen.is-terminated:before{content:'Ett allvarligt fel har inträffat';display:block;margin-bottom:28px;background:#c6c7c9;color:#000080;padding:3px 8px;width:max-content}.ktff-system-screen button{color:#111;background:#c6c7c9;border:2px solid;border-color:#fff #333 #333 #fff;padding:8px 14px;font:bold .95rem 'Courier New',monospace}.ktff-restart-toast{position:fixed;z-index:10000;right:18px;bottom:18px;max-width:min(430px,calc(100vw - 36px));background:#fff6b7;border:3px double #111;padding:12px 16px;box-shadow:4px 4px 0 #111;font:bold .9rem/1.45 'Courier New',monospace}.ktff-screen-active{overflow:hidden}@keyframes ktff-error-jolt{0%{transform:translate(0)}33%{transform:translate(-4px,2px)}66%{transform:translate(4px,-2px)}100%{transform:translate(0)}}
.ktff-system-screen.is-shutdown{display:grid;place-items:center;background:#000;color:#ef9340;text-align:center}.ktff-system-screen.is-shutdown pre{font:bold clamp(1rem,2.8vw,1.7rem)/1.5 'Courier New',monospace}.ktff-system-screen.is-black{background:#000;color:transparent}.ktff-system-screen.is-black .ktff-system-screen-inner{visibility:hidden}.ktff-system-screen.is-boot-logo{display:grid;place-items:center;background:#050505;color:#fff}.ktff-boot-logo{text-align:center;animation:ktff-logo-arrive 1.2s ease-out}.ktff-boot-logo[hidden]{display:none}.ktff-boot-logo p{margin:14px 0 2px;font:italic 700 clamp(2.2rem,8vw,5rem)/1 Arial,sans-serif;letter-spacing:-3px}.ktff-boot-logo p strong{font-weight:900}.ktff-boot-logo small{font:700 clamp(.7rem,2vw,1rem) 'Courier New',monospace;letter-spacing:4px;color:#ccc}.ktff-boot-mark{display:grid;grid-template-columns:repeat(2,clamp(42px,8vw,78px));grid-template-rows:repeat(2,clamp(34px,6vw,60px));gap:5px;justify-content:center;transform:skewY(-7deg)}.ktff-boot-mark i:nth-child(1){background:#ed3833}.ktff-boot-mark i:nth-child(2){background:#3a8fe8}.ktff-boot-mark i:nth-child(3){background:#42ad56}.ktff-boot-mark i:nth-child(4){background:#f3cc38}.ktff-page-hidden .shell{opacity:0}.ktff-page-fade-in .shell{animation:ktff-page-return 1.3s ease-out}@keyframes ktff-logo-arrive{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes ktff-page-return{from{opacity:0;filter:brightness(2)}to{opacity:1;filter:brightness(1)}}
.ktff-system-screen [hidden]{display:none!important}

@media(max-width:760px){
 .desktop-navigation{display:none}
 .mobile-navigation{display:block;margin:4px 5px;background:#808080;border:2px outset #ddd}
 .mobile-navigation>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;background:linear-gradient(#082c69,#000922);color:#fff239;font:bold .9rem 'Courier New',monospace;list-style:none;cursor:pointer}
 .mobile-navigation>summary::-webkit-details-marker{display:none}
 .mobile-navigation>summary span{transition:transform .15s ease}
 .mobile-navigation[open]>summary span{transform:rotate(180deg)}
 .mobile-navigation .nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}
 .masthead{min-height:0}
 .brand{padding:12px 14px 11px;background-size:auto 210px}
 .organizer{margin-bottom:4px}
 .brand-title{font-size:1.65rem}
 .brand-tag{font-size:.78rem;margin:5px 0}
 .brand-date{font-size:.78rem;line-height:1.35}
 .knivsta-sign{display:none}
 .section-navigation[open]{max-height:46vh;overflow:auto}
 .section-navigation .section-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}
 .section-navigation .section-list a{padding:6px;font-size:.8rem}
 .about-contact-layout{grid-template-columns:1fr;gap:14px}.about-contact-panel .window-body{padding:13px}
 .site-close{top:7px;right:7px;width:19px;height:18px;font-size:.8rem}.ktff-dialog-body{grid-template-columns:42px 1fr;padding:16px 12px 8px}.ktff-warning-icon{width:38px;height:35px;font-size:1.15rem;padding-top:8px}.ktff-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.ktff-dialog-actions button,.ktff-dialog-actions button:last-child{width:100%;min-width:0}.ktff-dialog-actions button:last-child{grid-column:1/-1}
}
@media(max-width:460px){
 .mobile-navigation .nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-navigation .nav a:last-child{grid-column:auto}
 .section-navigation .section-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ktff-not-responding .shell,.ktff-boot-logo,.ktff-page-fade-in .shell{animation:none}}

.history-line a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cancel-actions{display:flex;align-items:flex-end;gap:16px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.cancel-actions .cancel-reason{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:220px;margin:0;order:2}.cancel-actions button{order:1}@media(max-width:620px){.cancel-actions{align-items:stretch;flex-direction:column}.cancel-actions button,.cancel-actions .cancel-reason{width:100%}.cancel-actions select{width:100%}}
.seat-placement{margin:16px 0}.seat-placement>h3{margin-bottom:5px}.seat-room-order{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 14px;padding:9px 12px 9px 32px;background:#dfe5e9;border:1px solid #93a2ad}.seat-room-order li{padding-right:8px}.seat-room-order span{color:#555;font-size:.8125rem}.seat-plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.seat-room{border:2px solid #778b99;background:#d7e0e5;padding:10px;min-width:0}.seat-room>h3{margin:0 0 3px;color:#092e62}.seat-room>h3 span{display:inline-block;background:#092e62;color:#fff;padding:2px 6px}.seat-room>p{font-size:.8125rem;margin:0 0 9px}.seat-room-closed{background:#d5d5d5;border-style:dashed}.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;align-items:stretch}.seat-desk{min-width:0;min-height:92px;border:3px double #47555e;background:#f7f4e8;padding:8px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;overflow:hidden}.seat-desk strong,.seat-person,.seat-desk small{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;line-height:1.25}.seat-number{font:bold .75rem 'Courier New',monospace;color:#293c4b}.seat-state{font-size:.75rem;color:#3f4b52}.seat-free{cursor:pointer;background:#efffe9;border-color:#2b7a35}.seat-free:hover{background:#d9ffd0}.seat-free:has(input:checked){outline:4px solid #0054af;outline-offset:1px;background:#dbeaff}.seat-free input{position:absolute;opacity:0;pointer-events:none}.seat-occupied{background:#fff0c2;border-color:#9b7c22}.seat-own{background:#dcecff;border-color:#0756a3;outline:3px solid #0756a3}.seat-unavailable{background:#e2e2e2;color:#626262;border-color:#858585}.seat-clear{margin:13px 0}.seat-clear input{margin-top:3px}@media(max-width:620px){.seat-plan{grid-template-columns:1fr}.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-room-order{display:block}.seat-room-order li{margin:4px 0}}@media(max-width:380px){.seat-grid{grid-template-columns:1fr}}

/* Visuell rums- och bordsplan */
.seat-plan{display:grid;grid-template-columns:1fr;gap:18px}.seat-room{padding:12px;border:2px solid #6f8290;background:#dce5e9}.seat-room-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.seat-room-heading h3{margin:0;color:#082d60}.seat-room-heading span{font-size:.8rem;font-weight:bold}.seat-room-map-wrap{overflow-x:auto;padding-bottom:4px}.seat-room-map{display:grid;grid-template-columns:repeat(12,minmax(46px,1fr));grid-template-rows:repeat(8,56px);gap:6px;min-width:680px;padding:12px;background:#f8fafb;border:2px solid #8294a0;box-shadow:inset 0 0 0 6px #d2dbe0}.seat-table{grid-column:var(--table-x)/span var(--table-w);grid-row:var(--table-y)/span var(--table-h);display:flex;flex-direction:column;min-width:0;padding:6px;background:#b88a53;border:4px ridge #684522;box-shadow:2px 3px 0 #9ba6ad;overflow:auto}.seat-table-title{display:block;text-align:center;color:#20150a;font:bold .76rem 'Courier New',monospace;margin-bottom:5px}.seat-table-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px;align-content:center;flex:1}.seat-desk{min-height:58px;padding:5px;border:2px solid #56646c;background:white;display:flex;flex-direction:column;justify-content:center;text-align:center;overflow:hidden}.seat-desk strong,.seat-desk span,.seat-desk small{overflow-wrap:anywhere;line-height:1.15}.seat-number{font-size:.72rem}.seat-person{font-size:.78rem}.seat-state{font-size:.7rem}.seat-free{background:#e8ffe5;border-color:#247333;cursor:pointer}.seat-free:hover{background:#caffc4;transform:translateY(-1px)}.seat-free:has(input:checked){outline:4px solid #0054af;background:#dceaff}.seat-occupied{background:#fff0b7;border-color:#99730c}.seat-own{background:#d9eaff;border-color:#0756a3;outline:3px solid #0756a3}.seat-unavailable{background:#ddd;color:#555}.seat-room-closed .seat-table{filter:grayscale(.55)}@media(max-width:620px){.seat-room-map{min-width:620px;grid-template-columns:repeat(12,46px)}.seat-room-heading{align-items:flex-start;flex-direction:column}}
.seat-private-occupied{background:#ffd7d7;border-color:#a40000;color:#750000}.seat-private-occupied .seat-number{color:#750000}

/* Kompakt bordsplan */
.seat-room-map{grid-template-columns:repeat(12,minmax(30px,1fr));grid-template-rows:repeat(8,34px);gap:4px;min-width:460px;padding:7px;box-shadow:inset 0 0 0 3px #d2dbe0}.seat-table{padding:3px;border-width:3px}.seat-table-title{font-size:.68rem;margin-bottom:2px}.seat-table-seats{grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:3px}.seat-desk{min-height:34px;padding:3px}.seat-number{font-size:.64rem}.seat-person{font-size:.7rem}.seat-state{font-size:.62rem}.seat-placement>p{margin:3px 0 8px;font-size:.82rem}.seat-room-heading{margin-bottom:5px}.seat-room-heading h3{font-size:1rem}.seat-room{padding:7px}@media(min-width:900px){.seat-plan{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.seat-room-map{min-width:460px;grid-template-columns:repeat(12,30px);grid-template-rows:repeat(8,34px)}}

/* Tydligare anmälnings- och bokningsflöde */
.form-section-heading{margin:18px 0 4px;padding:8px 10px;background:#dce6ec;border-left:5px solid #0756a3;color:#082d60}.signup-seat-choice{margin:12px 0;padding-top:4px;border-top:1px solid #9baab4}.signup-seat-choice>h3{margin-bottom:3px}.signup-seat-choice>h3 span{font-size:.75em;font-weight:normal}.signup-seat-choice>.seat-placement>h3{display:none}.booking-overview{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding:10px 14px;margin-bottom:10px;background:#071a3d;color:#fff;border:2px solid #0e5db4}.booking-overview strong{font-size:1.05rem}.booking-overview span{font-family:'Courier New',monospace}.private-page-note{padding:8px 12px;margin:8px 0 12px;background:#e5ebef;border-left:5px solid #6b7c87}.private-page-note p{margin:3px 0}.payment-callout{border:2px solid #b38800;background:#fff2b8}.payment-summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,1fr);gap:4px 16px;max-width:560px}.payment-summary dt,.payment-summary dd{margin:0;padding:4px 0;border-bottom:1px dotted #aeb8bf}.compact-terms{margin-top:10px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.form-actions button{margin-left:auto}.cancel-booking{margin-top:16px}.cancel-booking>summary{cursor:pointer;font-weight:bold}.leave-private{margin-top:12px}@media(max-width:620px){.booking-overview{align-items:flex-start;flex-direction:column}.payment-summary{grid-template-columns:1fr auto}.form-actions{align-items:stretch;flex-direction:column}.form-actions button{margin-left:0}}

/* Kompakt Min LAN-anmälan */
.profile-quick{display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1fr);gap:3px 12px;margin:0}.profile-quick dt{font-weight:bold;color:#20364d}.profile-quick dd{margin:0;overflow-wrap:anywhere}.profile-editor,.seat-picker{margin-top:10px;border-top:1px solid #98a8b2;padding-top:8px}.profile-editor>summary,.seat-picker>summary{display:inline-block;cursor:pointer;padding:7px 11px;background:#e2e8ec;border:1px solid #778a96;font-weight:bold;color:#082d60}.profile-editor[open]>summary,.seat-picker[open]>summary{margin-bottom:12px;background:#d2e5f7}.profile-editor .form-grid{gap:10px 16px}.profile-editor .form-field{margin:0}.compact-field{max-width:180px}.compact-textarea textarea{min-height:64px}.tournament-choices{padding:8px 12px;margin:4px 0}.tournament-choices .form-help{margin:0 0 5px}.tournament-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px 10px}.tournament-options .checkbox-row{margin:0;padding:3px 0}.seat-picker>.small{margin:5px 0}.seat-picker .seat-placement{margin-top:8px}.window-body>.profile-quick:first-child{margin-top:0}@media(max-width:720px){.profile-quick{grid-template-columns:auto 1fr}.profile-editor>summary,.seat-picker>summary{display:block}.compact-field{max-width:none}}
.tournament-options .tournament-social{grid-column:1/-1;border-top:1px solid #98a8b2;margin-top:5px;padding-top:8px;font-weight:bold}

/* Föreningsstadgar */
.bylaws-page{max-width:900px;margin:0 auto}.bylaws-note{padding:11px 14px;background:#fff5c7;border:1px solid #aa964d;line-height:1.55}.bylaws-toc{margin:14px 0 18px;padding:15px 18px;background:#dce6ec;border:2px solid #7891a3}.bylaws-toc h2{color:#082d60;margin-bottom:9px}.bylaws-toc ol{columns:2;column-gap:36px;margin:0}.bylaws-toc li{break-inside:avoid;margin:3px 0}.bylaws-section{scroll-margin-top:12px;margin:0 0 12px;padding:18px 20px;background:#f5f5f1;border:2px solid;border-color:#fff #7c8990 #7c8990 #fff;box-shadow:0 0 0 1px #aab8c0}.bylaws-section h2{margin:-18px -20px 16px;padding:7px 10px;background:linear-gradient(90deg,#003aa3,#0983d6);color:#fff;font-size:1.15rem}.bylaws-section p,.bylaws-section li{max-width:76ch;line-height:1.65}.bylaws-section ul,.bylaws-section ol{margin-top:0}.bylaws-back{display:inline-block;margin-top:4px;font-size:.8rem}.bylaws-adoption dl{max-width:650px;margin:15px 0}.bylaws-adoption dl div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,2fr);gap:12px;padding:7px 0;border-bottom:1px dotted #8997a0}.bylaws-adoption dt{font-weight:bold}.bylaws-adoption dd{margin:0;font-family:'Courier New',monospace;overflow-wrap:anywhere}@media(max-width:620px){.bylaws-toc ol{columns:1}.bylaws-section{padding:15px 13px}.bylaws-section h2{margin:-15px -13px 14px;font-size:1.05rem}.bylaws-adoption dl div{grid-template-columns:1fr;gap:3px}.bylaws-page .page-heading h1{font-size:1.35rem}}

/* Livestream */
.livestream-window{border-color:#fff #121212 #121212 #fff}.livestream-window .window-title{background:linear-gradient(90deg,#720000,#d20b0b);font-family:'Courier New',monospace;font-size:1rem}.livestream-status{margin-left:auto;padding:2px 7px;border:1px solid currentColor;background:#160000;color:#ff7070;font:bold .72rem/1.2 'Courier New',monospace;letter-spacing:1px}.livestream-status.live{background:#3a0000;color:#fff;box-shadow:0 0 8px #ff3838}.livestream-tagline{font:bold italic 1.08rem/1.4 'Trebuchet MS',sans-serif;margin-bottom:10px}.livestream-player{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:3px inset #b8b8b8;overflow:hidden}.livestream-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.livestream-offline{min-height:118px;display:grid;place-content:center;text-align:center;padding:18px;background:repeating-linear-gradient(0deg,#050805 0 3px,#101710 3px 4px);border:3px inset #aeb6ae;color:#b8ff9b;font-family:'Courier New',monospace}.livestream-offline span{font-weight:bold;font-size:1.45rem;letter-spacing:4px}.livestream-offline p{margin:8px 0 0;color:#e0e7dc}.livestream-watch{text-align:right;margin:9px 0 0}@media(max-width:620px){.livestream-window .window-title{align-items:flex-start}.livestream-status{flex:none}.livestream-tagline{font-size:.95rem}.livestream-offline{min-height:100px;padding:14px}.livestream-offline span{font-size:1.15rem}}

/* Påskägg: skärmsläckare och 56K-modem */
.ktff-screensaver{position:fixed;z-index:12000;inset:0;overflow:hidden;background:#020202;color:#fff;cursor:none;font-family:'Courier New',monospace}.ktff-screensaver[hidden]{display:none}.ktff-screensaver-logo{position:absolute;left:0;top:0;width:clamp(190px,27vw,330px);padding:18px 22px;background:linear-gradient(135deg,#000080,#087ac0);border:3px solid #fff;box-shadow:7px 7px 0 #f2df00;text-align:center;will-change:transform}.ktff-screensaver-logo strong{display:block;font-size:clamp(1.55rem,4vw,3rem);letter-spacing:2px}.ktff-screensaver-logo span{display:block;margin-top:5px;color:#fff36d;font-weight:bold}.ktff-screensaver>p{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(-5deg);margin:0;padding:12px 22px;background:#fff000;color:#000;border:4px double #000;font:bold clamp(1.5rem,6vw,4.5rem) 'Arial Black',sans-serif}.ktff-screensaver>small{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:#aaa}.ktff-modem-dialog{width:min(470px,calc(100vw - 24px));padding:3px;border:2px solid;border-color:#fff #202020 #202020 #fff;background:#c6c7c9;color:#111;box-shadow:5px 6px 0 #000;font-family:Tahoma,Verdana,Arial,sans-serif}.ktff-modem-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:brightness(.42) grayscale(.25)}.ktff-modem-dialog .ktff-dialog-title{min-height:26px;background:#000080}.ktff-modem-body{display:grid;grid-template-columns:66px 1fr;align-items:center;gap:15px;padding:24px 20px 19px}.ktff-modem-body p{margin:0 0 12px}.ktff-modem-icon{display:grid;place-items:center;width:58px;height:58px;background:#efefef;border:2px solid;border-color:#777 #fff #fff #777;color:#000080;font-size:2.2rem}.ktff-modem-progress{height:21px;padding:2px;background:#fff;border:2px solid;border-color:#666 #fff #fff #666;overflow:hidden}.ktff-modem-progress i{display:block;width:5%;height:100%;background:repeating-linear-gradient(90deg,#000080 0 12px,transparent 12px 15px);transition:width .45s steps(4,end)}.network-banner[role=button]{cursor:pointer}.network-banner[role=button]:focus-visible{outline:3px dashed #fff000;outline-offset:3px}@media(max-width:520px){.ktff-modem-body{grid-template-columns:50px 1fr;padding:18px 12px;gap:10px}.ktff-modem-icon{width:44px;height:44px;font-size:1.7rem}}@media(prefers-reduced-motion:reduce){.ktff-modem-progress i{transition:none}.ktff-screensaver-logo{left:50%;top:50%;transform:translate(-50%,-50%)!important}}

/* Påskägg: Matrix över Knivsta */
.knivsta-sign strong[role=button]{cursor:pointer;user-select:none}.knivsta-sign strong[role=button]:focus-visible{outline:4px dashed #fff000;outline-offset:5px}.ktff-matrix-active{overflow:hidden}.ktff-matrix-active .ktff-clippy{display:none}.ktff-matrix{position:fixed;z-index:16000;inset:0;overflow:hidden;background:#000;color:#27ff54;transition:opacity 1.2s ease;font-family:'Courier New',monospace}.ktff-matrix[hidden]{display:none}.ktff-matrix canvas{position:absolute;inset:0;opacity:1;transition:opacity 1.1s ease}.ktff-matrix.is-rain-fading canvas,.ktff-matrix.is-message canvas{opacity:0}.ktff-matrix-message{position:absolute;z-index:2;left:clamp(24px,12vw,190px);top:45%;margin:0;color:#54ff70;text-shadow:0 0 8px #00ff41;font:clamp(1.35rem,4vw,3.2rem)/1.3 'Courier New',monospace;letter-spacing:2px}.ktff-matrix-message:after{content:'█';margin-left:4px;animation:ktff-matrix-cursor .65s steps(1) infinite}.ktff-matrix.is-black canvas,.ktff-matrix.is-black .ktff-matrix-message,.ktff-matrix.is-booting canvas,.ktff-matrix.is-booting .ktff-matrix-message{display:none}.ktff-matrix.is-booting{display:grid;place-items:center;background:#050505;color:#fff}.ktff-matrix.is-returning{opacity:0}.ktff-matrix .ktff-boot-logo{z-index:3}@keyframes ktff-matrix-cursor{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.ktff-matrix,.ktff-matrix canvas{transition:none}.ktff-matrix-message:after{animation:none}}

/* Påskägg: jackpot i besöksräknaren */
.counter[role=button]{cursor:pointer;user-select:none;min-width:9.5ch;text-align:center}.counter[role=button]:focus-visible{outline:3px dashed #fff000;outline-offset:3px}.counter.is-slotting{color:#fff000;animation:ktff-slot-jitter .11s steps(2) infinite;box-shadow:0 0 10px #fff000}.counter.is-jackpot{color:#0b0;background:#fff7a8;border-color:#fff #766d00 #766d00 #fff;animation:ktff-jackpot .24s steps(2) 6;box-shadow:0 0 16px #fff000}.counter.is-restoring{animation:ktff-counter-return .6s ease-out}@keyframes ktff-slot-jitter{0%{transform:translateY(-1px)}50%{transform:translateY(1px)}100%{transform:translateY(0)}}@keyframes ktff-jackpot{50%{filter:brightness(2);transform:scale(1.08)}}@keyframes ktff-counter-return{from{opacity:.25}to{opacity:1}}@media(prefers-reduced-motion:reduce){.counter.is-slotting,.counter.is-jackpot,.counter.is-restoring{animation:none}}

/* Clippy – usel LAN-support */
.ktff-clippy{position:fixed;z-index:9000;right:18px;bottom:14px;display:flex;align-items:flex-end;gap:7px;max-width:min(390px,calc(100vw - 24px));font-family:Tahoma,Verdana,Arial,sans-serif}.ktff-clippy[hidden]{display:none}.ktff-clippy-bubble{position:relative;min-width:190px;padding:11px 13px;background:#fffbd5;border:2px solid #111;border-radius:12px;box-shadow:3px 4px 0 #000}.ktff-clippy-bubble:after{content:'';position:absolute;right:-14px;bottom:18px;border-width:9px 0 9px 14px;border-style:solid;border-color:transparent transparent transparent #111}.ktff-clippy-bubble strong{color:#000080}.ktff-clippy-bubble p{margin:4px 0 0;line-height:1.3}.ktff-clippy-character{position:relative;flex:none;width:76px;height:92px;padding:0;background:transparent;border:0;font-size:4.7rem;line-height:1;transform:rotate(-9deg);filter:drop-shadow(3px 4px 0 #000);cursor:pointer}.ktff-clippy-character:hover{transform:rotate(5deg) scale(1.08)}.ktff-clippy-character:focus-visible{outline:4px dashed #fff000}.ktff-clippy-eyes{position:absolute;z-index:2;top:20px;left:23px;display:flex;gap:5px}.ktff-clippy-eyes i{display:block;width:10px;height:13px;background:#fff;border:2px solid #111;border-radius:50%;box-shadow:inset 2px -3px 0 #3991ed}.ktff-clippy-attack{position:fixed;z-index:15000;inset:0;overflow:hidden;background:rgba(0,0,0,.72);color:#fff;transition:opacity 1s;font-family:'Courier New',monospace}.ktff-clippy-attack[hidden]{display:none}.ktff-clippy-attack>p{position:absolute;z-index:3;left:50%;top:7%;transform:translateX(-50%);margin:0;padding:6px 12px;background:#000080;color:#fff;font-weight:bold;letter-spacing:2px}.ktff-clippy-attack.is-black{background:#000}.ktff-clippy-attack.is-black [data-clippy-holes]{opacity:.15}.ktff-clippy-attack.is-booting{display:grid;place-items:center;background:#050505}.ktff-clippy-attack.is-booting [data-clippy-holes]{display:none}.ktff-clippy-attack.is-returning{opacity:0}.ktff-clippy-attack .ktff-boot-logo{z-index:4}.ktff-bullet-hole{position:absolute;width:var(--hole-size);height:var(--hole-size);transform:translate(-50%,-50%) scale(0);border-radius:50%;background:radial-gradient(circle,#000 0 17%,#3c3c3c 18% 25%,transparent 27%),conic-gradient(from 10deg,transparent 0 8%,#050505 9% 10%,transparent 11% 21%,#050505 22% 24%,transparent 25% 37%,#050505 38% 40%,transparent 41% 55%,#050505 56% 58%,transparent 59% 73%,#050505 74% 76%,transparent 77%);filter:drop-shadow(1px 2px 1px #000);animation:ktff-bullet-impact .18s ease-out forwards}@keyframes ktff-bullet-impact{60%{transform:translate(-50%,-50%) scale(1.35)}100%{transform:translate(-50%,-50%) scale(1)}}@media(max-width:600px){.ktff-clippy{right:8px;bottom:8px}.ktff-clippy-bubble{min-width:0;font-size:.82rem}.ktff-clippy-character{width:58px;height:72px;font-size:3.7rem}.ktff-clippy-eyes{top:15px;left:17px}.ktff-clippy-eyes i{width:8px;height:10px}}@media(prefers-reduced-motion:reduce){.ktff-clippy-character,.ktff-bullet-hole,.ktff-clippy-attack{animation:none;transition:none}}


/* Kompakt turneringsöversikt */
.tournaments-page .page-heading{padding:12px 15px}.tournaments-page .page-heading p{margin-top:4px}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:8px}.tournament-card{margin:0}.tournament-card .window-body{padding:9px 11px}.tournament-time{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:0 0 7px;padding-bottom:7px;border-bottom:1px solid #aab4bb;font-size:.88rem}.tournament-time strong{color:#082d60}.tournament-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.tournament-facts section{min-width:0}.tournament-facts .tournament-rules{grid-column:1/-1;padding-bottom:6px;border-bottom:1px dotted #aab4bb}.tournament-facts h3{margin:0 0 2px;color:#173b69;font:bold .76rem/1.25 'Courier New',monospace;text-transform:uppercase;letter-spacing:.5px}.tournament-facts p{margin:0;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}@media(max-width:520px){.tournament-grid{grid-template-columns:1fr}.tournament-facts{grid-template-columns:1fr}.tournament-facts .tournament-rules{grid-column:auto}.tournament-facts section:not(:last-child){padding-bottom:6px;border-bottom:1px dotted #aab4bb}}

/* Quake-konsol */
.ktff-console-trigger{position:fixed;z-index:9100;top:7px;left:7px;width:30px;height:23px;padding:0;border:1px solid #688268;background:#071107;color:#65da65;box-shadow:1px 1px 0 #000;font:700 12px/20px 'Courier New',monospace;opacity:.42;cursor:pointer}.ktff-console-trigger:hover,.ktff-console-trigger:focus-visible,.ktff-console-trigger[aria-expanded=true]{opacity:1;color:#b4ff9c;outline:none}.ktff-console{position:fixed;z-index:9050;inset:0 0 auto;height:30vh;min-height:190px;padding:34px 18px 12px;background:linear-gradient(rgba(4,10,4,.98),rgba(1,4,1,.96)),repeating-linear-gradient(0deg,transparent 0 3px,rgba(90,255,90,.08) 3px 4px);border-bottom:3px ridge #5f735f;color:#79e56c;box-shadow:0 8px 18px #000;font:14px/1.35 'Courier New',monospace}.ktff-console[hidden]{display:none}.ktff-console-log{height:calc(100% - 34px);overflow:auto;scrollbar-color:#4d9148 #071107}.ktff-console-log p{margin:0 0 3px;white-space:pre-wrap;overflow-wrap:anywhere}.ktff-console-log strong{color:#d5ffbd}.ktff-console-command{color:#fff}.ktff-console-error{color:#ff7777}.ktff-console-system{color:#e9e873}.ktff-console-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;height:31px;margin-top:3px}.ktff-console-form label{font-weight:bold;color:#fff}.ktff-console-form input{min-width:0;height:26px;padding:2px 5px;border:0;border-bottom:1px solid #488c48;background:transparent;color:#b8ff9b;outline:none;font:inherit;caret-color:#fff}.ktff-console-form button{height:26px;padding:2px 10px;border:1px solid #547154;background:#101d10;color:#a7efa0;font:700 11px 'Courier New',monospace}.ktff-console-open .ktff-clippy{display:none}.ktff-godmode .shell{filter:invert(1)}.ktff-fov-active .shell{width:var(--ktff-fov-width,100%);zoom:var(--ktff-fov-zoom,1)}@media(max-width:600px){.ktff-console{height:42vh;min-height:220px;padding:34px 9px 9px;font-size:12px}.ktff-console-trigger{top:5px;left:5px}.ktff-console-form button{padding-inline:7px}}

/* Quake-kommandonas effekter */
.ktff-fullbright .shell{filter:brightness(1.45) contrast(1.2) saturate(1.5)}.ktff-godmode.ktff-fullbright .shell{filter:invert(1) brightness(1.45) contrast(1.2) saturate(1.5)}.ktff-wireframe .shell *{background-image:none!important;box-shadow:none!important;outline:1px solid #00ff66!important}.ktff-noclip .window,.ktff-noclip .page-heading,.ktff-noclip .nav a{animation:ktff-noclip 3.2s ease-in-out infinite alternate}.ktff-noclip .window:nth-child(even){animation-delay:-1.4s}.ktff-zero-gravity .shell{animation:ktff-zero-gravity 4s ease-in-out infinite alternate}.ktff-slowmo .shell{animation:ktff-slowmo 5s ease-in-out infinite alternate}.ktff-quad .shell{animation:ktff-quad .24s steps(2) 42;filter:hue-rotate(255deg) saturate(2.5) contrast(1.2)}@keyframes ktff-noclip{to{transform:translate(4px,-7px) rotate(.18deg)}}@keyframes ktff-zero-gravity{to{transform:translateY(-14px)}}@keyframes ktff-slowmo{0%{transform:skewX(0)}50%{transform:skewX(.6deg)}100%{transform:skewX(-.4deg)}}@keyframes ktff-quad{50%{filter:hue-rotate(285deg) saturate(4) brightness(1.25)}}@media(prefers-reduced-motion:reduce){.ktff-noclip .window,.ktff-noclip .page-heading,.ktff-noclip .nav a,.ktff-zero-gravity .shell,.ktff-slowmo .shell,.ktff-quad .shell{animation:none}}

/* Konsolkommandon: trail, scan och defrag */
.ktff-trail-dot{position:fixed;z-index:8990;width:13px;height:13px;margin:-6px 0 0 -6px;border:2px outset #dfffd6;background:#00a000;pointer-events:none;transform:rotate(45deg);animation:ktff-trail-fade .75s steps(6,end) forwards}@keyframes ktff-trail-fade{to{opacity:0;transform:rotate(135deg) scale(.2)}}.ktff-retro-effect{position:fixed;z-index:9400;inset:0;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.72);font-family:Tahoma,Verdana,Arial,sans-serif}.ktff-effect-window{width:min(640px,calc(100vw - 28px));padding:3px;border:2px solid;border-color:#fff #171717 #171717 #fff;background:#c7c7c7;color:#111;box-shadow:7px 8px 0 #000}.ktff-effect-window>header{padding:5px 8px;background:#000080;color:#fff;font-weight:bold}.ktff-effect-body{padding:18px}.ktff-effect-progress{height:24px;padding:3px;border:2px solid;border-color:#666 #fff #fff #666;background:#fff}.ktff-effect-progress i{display:block;width:0;height:100%;background:repeating-linear-gradient(90deg,#000080 0 15px,transparent 15px 18px);transition:width .45s steps(5,end)}.ktff-scan pre{min-height:2.8em;margin:13px 0 0;padding:10px;background:#000;color:#48ff48;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.4 'Courier New',monospace}.ktff-scan.is-done .ktff-effect-window{animation:ktff-safe-flash .28s steps(2) 5}.ktff-defrag .ktff-effect-window{width:min(760px,calc(100vw - 28px))}.ktff-defrag-grid{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;padding:5px;background:#000;border:2px inset #ddd}.ktff-defrag-grid i{aspect-ratio:1;background:#ef3123}.ktff-defrag-grid .type-1{background:#ffef24}.ktff-defrag-grid .type-2{background:#fff}.ktff-defrag-grid .type-3{background:#3b55ff}.ktff-defrag-grid .type-4{background:#111}.ktff-defrag-grid .is-sorted{background:#1268ff;box-shadow:inset 0 0 0 1px #8fbaff}.ktff-defrag.is-done .ktff-defrag-grid .is-sorted{background:#19a53b}@keyframes ktff-safe-flash{50%{filter:brightness(1.5)}}@media(max-width:600px){.ktff-retro-effect{padding:7px}.ktff-effect-body{padding:12px}.ktff-defrag-grid{grid-template-columns:repeat(12,1fr);gap:1px}}@media(prefers-reduced-motion:reduce){.ktff-trail-dot,.ktff-scan.is-done .ktff-effect-window{animation:none}.ktff-effect-progress i{transition:none}}

/* Vit kanin och KNIVSTA.EXE */
.ktff-white-rabbit{position:fixed;z-index:8900;left:7px;top:46%;width:38px;height:38px;padding:0;border:0;background:transparent;color:#fff;font:28px/38px "Segoe UI Emoji","Apple Color Emoji",sans-serif;filter:grayscale(1) brightness(2) drop-shadow(1px 2px 1px #000);opacity:.7;cursor:pointer;animation:ktff-rabbit-hop 8s ease-in-out infinite}.ktff-white-rabbit:hover,.ktff-white-rabbit:focus-visible{opacity:1;filter:grayscale(1) brightness(2.5) drop-shadow(0 0 5px #fff);outline:2px dashed #fff;outline-offset:2px}.ktff-matrix-active .ktff-white-rabbit{display:none}@keyframes ktff-rabbit-hop{0%,88%,100%{transform:translateY(0) rotate(0)}91%{transform:translateY(-10px) rotate(-7deg)}94%{transform:translateY(0) rotate(4deg)}97%{transform:translateY(-4px) rotate(0)}}.knivsta-sign.is-updating{background:#050505;color:#69ff50;box-shadow:inset 0 0 16px #00a42a}.knivsta-sign.is-updating strong{min-height:54px;display:flex;align-items:center;justify-content:center;background:#000;color:#69ff50;border-color:#69ff50;font-size:clamp(.72rem,1.3vw,1rem);letter-spacing:1px;transform:none;text-shadow:0 0 5px #35ff35;animation:ktff-knivsta-glitch .18s steps(2) infinite}.knivsta-sign.is-updating p{color:#7aff67}.knivsta-sign.is-complete{background:#d8dad6;animation:ktff-knivsta-ok .5s steps(2) 3}.knivsta-sign.is-complete strong{transform:none;background:#14335c;color:#fff;font-size:.82rem;letter-spacing:1px}@keyframes ktff-knivsta-glitch{50%{translate:1px -1px}}@keyframes ktff-knivsta-ok{50%{filter:brightness(1.7)}}@media(max-width:760px){.ktff-white-rabbit{left:3px;top:auto;bottom:76px;width:34px;height:34px;font-size:25px;line-height:34px}.knivsta-sign.is-updating strong,.knivsta-sign.is-complete strong{display:inline-flex;min-height:30px;margin-right:8px;font-size:.7rem}}@media(prefers-reduced-motion:reduce){.ktff-white-rabbit,.knivsta-sign.is-updating strong,.knivsta-sign.is-complete{animation:none}}
.ktff-white-rabbit[hidden]{display:none}.ktff-white-rabbit:focus-visible{outline:0;outline-offset:0}

.ktff-white-rabbit{position:absolute;top:360px;bottom:auto}@media(max-width:760px){.ktff-white-rabbit{position:absolute;left:3px;top:360px;bottom:auto}}

/* Den vita kaninens pillerval */
.ktff-matrix[hidden]{display:none!important}
.ktff-matrix.is-choice{display:grid;place-items:center;background:#000}.ktff-matrix.is-choice canvas,.ktff-matrix.is-choice .ktff-matrix-message{display:none}.ktff-matrix-choice{position:relative;z-index:5;max-width:680px;padding:30px;text-align:center;color:#6dff61;font-family:"Courier New",monospace;text-shadow:0 0 7px rgba(76,255,61,.65)}.ktff-matrix-choice[hidden]{display:none}.ktff-matrix-choice p{margin:0 0 8px;letter-spacing:.16em}.ktff-matrix-choice h2{margin:0 0 24px;color:#fff;font-size:clamp(1.4rem,5vw,2.6rem)}.ktff-matrix-choice>div{display:flex;justify-content:center;gap:clamp(20px,8vw,70px)}.ktff-matrix-choice button{min-width:128px;padding:12px;border:2px outset #ddd;background:#c0c0c0;color:#050505;font:bold .9rem "Courier New",monospace;cursor:pointer}.ktff-matrix-choice button:focus-visible{outline:3px solid #fff;outline-offset:4px}.ktff-matrix-choice button span{display:block;width:58px;height:25px;margin:0 auto 10px;border:2px solid rgba(255,255,255,.45);border-radius:50%;box-shadow:inset -10px -7px 12px rgba(0,0,0,.5),0 0 13px currentColor}.ktff-matrix-choice button[data-matrix-pill=red] span{color:#ff2525;background:#d40000}.ktff-matrix-choice button[data-matrix-pill=blue] span{color:#318cff;background:#075ac7}.ktff-matrix-choice small{display:block;margin-top:25px;color:#9aa}.ktff-matrix.is-page-mode{z-index:8500;background:rgba(0,18,0,.08);pointer-events:none}.ktff-matrix.is-page-mode canvas{display:block;opacity:.38;mix-blend-mode:screen}.ktff-matrix.is-page-mode .ktff-matrix-message,.ktff-matrix.is-page-mode .ktff-matrix-choice{display:none}body.ktff-matrix-blue .ktff-clippy{display:none}body.ktff-matrix-blue .shell{box-shadow:0 0 35px #00a929}.ktff-neo-status{white-space:pre-line!important;color:#72ff5a!important;text-shadow:0 0 6px #19ff19;margin:8px 0 0!important;font-weight:bold}.ktff-agent-alert{position:fixed;z-index:14950;top:18px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);padding:10px 16px;border:2px solid #66ff55;background:#020902;color:#78ff68;box-shadow:0 0 20px rgba(50,255,50,.5);font:bold clamp(.72rem,2.5vw,1rem) "Courier New",monospace;text-align:center}.ktff-agent-alert[hidden]{display:none}

/* Små springande Matrix-agenter byggda helt med CSS */
.ktff-agent{position:fixed;z-index:14900;left:0;top:0;width:30px;height:49px;pointer-events:none;transform-origin:center bottom;filter:drop-shadow(0 2px 2px rgba(0,0,0,.75))}.ktff-agent:before{content:"";position:absolute;left:7px;top:0;width:14px;height:14px;border:2px solid #050505;border-radius:50%;background:linear-gradient(#161616 0 35%,#efc89f 36% 100%);box-shadow:inset 0 -3px #ba8e6b,0 6px 0 -5px #050505}.ktff-agent:after{content:"";position:absolute;left:7px;top:14px;width:16px;height:22px;border:2px solid #050505;background:linear-gradient(100deg,#080808 0 40%,#f2f2f2 41% 48%,#111 49%);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.ktff-agent i{position:absolute;z-index:-1;left:3px;top:18px;width:24px;height:14px;border-top:4px solid #111;transform:rotate(-12deg);animation:ktff-agent-arms .34s steps(2,end) infinite}.ktff-agent span{position:absolute;left:6px;top:35px;width:18px;height:14px;border-left:5px solid #111;border-right:5px solid #111;animation:ktff-agent-legs .28s steps(2,end) infinite}@keyframes ktff-agent-arms{to{transform:rotate(14deg)}}@keyframes ktff-agent-legs{to{transform:skewX(22deg)}}@media(max-width:520px){.ktff-matrix-choice{padding:18px}.ktff-matrix-choice>div{gap:12px}.ktff-matrix-choice button{min-width:118px;padding:10px 7px}}

/* Ett mer filmiskt och mindre formuläraktigt pillerval */
.ktff-matrix.is-choice{background:radial-gradient(circle at 50% 46%,#09230f 0,#020a04 28%,#000 67%)}.ktff-matrix.is-choice:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(76,255,95,.035) 4px 5px);pointer-events:none}.ktff-matrix-choice{width:min(780px,calc(100vw - 30px));padding:clamp(24px,5vw,54px);border:1px solid rgba(95,255,116,.16);background:linear-gradient(145deg,rgba(5,18,8,.8),rgba(0,0,0,.5));box-shadow:0 0 70px rgba(0,255,65,.1),inset 0 0 45px rgba(0,255,65,.035);text-shadow:none}.ktff-matrix-choice p{margin:0 0 12px;color:#67f37b;font-size:clamp(.72rem,1.7vw,.92rem);font-weight:bold;letter-spacing:.34em;text-shadow:0 0 10px #25ff47}.ktff-matrix-choice h2{margin:0 0 clamp(26px,5vw,44px);color:#f3fff4;font-size:clamp(1.65rem,5.7vw,3.15rem);line-height:1.05;letter-spacing:.035em;text-shadow:0 0 8px rgba(112,255,130,.75),0 0 28px rgba(44,255,73,.3)}.ktff-matrix-choice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4vw,34px)}.ktff-matrix-choice button{position:relative;min-width:0;min-height:154px;padding:24px 18px 19px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:linear-gradient(155deg,rgba(25,32,27,.96),rgba(3,6,4,.98));color:#e7eee8;box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 32px rgba(0,0,0,.55);font:bold .88rem/1.2 "Courier New",monospace;letter-spacing:.12em;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease}.ktff-matrix-choice button:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,currentColor,transparent 58%);opacity:.045;transition:opacity .22s ease}.ktff-matrix-choice button:hover,.ktff-matrix-choice button:focus-visible{transform:translateY(-5px);outline:0}.ktff-matrix-choice button[data-matrix-pill=red]{border-top:2px solid #ff3945}.ktff-matrix-choice button[data-matrix-pill=blue]{border-top:2px solid #328dff}.ktff-matrix-choice button[data-matrix-pill=red]:hover,.ktff-matrix-choice button[data-matrix-pill=red]:focus-visible{color:#fff;border-color:#ff4a55;box-shadow:0 0 0 1px rgba(255,50,64,.2),0 16px 38px rgba(205,0,16,.24)}.ktff-matrix-choice button[data-matrix-pill=blue]:hover,.ktff-matrix-choice button[data-matrix-pill=blue]:focus-visible{color:#fff;border-color:#4f9dff;box-shadow:0 0 0 1px rgba(58,142,255,.2),0 16px 38px rgba(0,81,190,.26)}.ktff-matrix-choice button:hover:before,.ktff-matrix-choice button:focus-visible:before{opacity:.1}.ktff-matrix-choice button span{position:relative;width:94px;height:37px;margin:0 auto 25px;border:0;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;transform:perspective(110px) rotateX(-17deg);box-shadow:inset 10px 8px 16px rgba(255,255,255,.38),inset -14px -12px 20px rgba(0,0,0,.55),0 9px 12px rgba(0,0,0,.7),0 0 26px currentColor}.ktff-matrix-choice button span:after{content:"";position:absolute;left:18%;right:20%;top:13%;height:22%;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(3px)}.ktff-matrix-choice button[data-matrix-pill=red] span{color:#ff2634;background:linear-gradient(145deg,#ff4b52,#a6000b 58%,#480005)}.ktff-matrix-choice button[data-matrix-pill=blue] span{color:#268bff;background:linear-gradient(145deg,#54adff,#0754b5 58%,#022856)}.ktff-matrix-choice small{display:block;margin-top:clamp(25px,4vw,38px);color:#86a68b;font-size:.77rem;letter-spacing:.04em}@media(max-width:520px){.ktff-matrix-choice{padding:25px 14px}.ktff-matrix-choice>div{grid-template-columns:1fr 1fr;gap:9px}.ktff-matrix-choice button{min-height:125px;padding:17px 7px 14px;font-size:.7rem;letter-spacing:.04em}.ktff-matrix-choice button span{width:70px;height:29px;margin-bottom:18px}.ktff-matrix-choice small{font-size:.68rem;line-height:1.45}}

/* Bara pillren är valen – inga etiketter eller kort runt dem */
.ktff-matrix-choice>div{display:flex;justify-content:center;align-items:center;gap:clamp(55px,13vw,150px);min-height:115px}.ktff-matrix-choice button,.ktff-matrix-choice button[data-matrix-pill=red],.ktff-matrix-choice button[data-matrix-pill=blue]{display:grid;place-items:center;width:150px;min-width:150px;height:82px;min-height:82px;padding:0;overflow:visible;border:0;background:transparent;box-shadow:none;color:transparent;font-size:0;letter-spacing:0}.ktff-matrix-choice button:before{display:none}.ktff-matrix-choice button:hover,.ktff-matrix-choice button:focus-visible,.ktff-matrix-choice button[data-matrix-pill=red]:hover,.ktff-matrix-choice button[data-matrix-pill=red]:focus-visible,.ktff-matrix-choice button[data-matrix-pill=blue]:hover,.ktff-matrix-choice button[data-matrix-pill=blue]:focus-visible{border:0;background:transparent;box-shadow:none;transform:translateY(-5px) scale(1.08)}.ktff-matrix-choice button:focus-visible{outline:2px dashed rgba(221,255,225,.72);outline-offset:7px}.ktff-matrix-choice button span{width:126px;height:49px;margin:0;transition:filter .2s ease,transform .2s ease}.ktff-matrix-choice button:hover span,.ktff-matrix-choice button:focus-visible span{filter:brightness(1.2);transform:perspective(110px) rotateX(-17deg) scale(1.05)}.ktff-matrix-choice button[data-matrix-pill=red] span{box-shadow:inset 12px 9px 18px rgba(255,255,255,.42),inset -16px -13px 23px rgba(0,0,0,.58),0 10px 14px rgba(0,0,0,.72),0 0 24px #ff1729,0 0 58px rgba(255,0,26,.62)}.ktff-matrix-choice button[data-matrix-pill=blue] span{box-shadow:inset 12px 9px 18px rgba(255,255,255,.42),inset -16px -13px 23px rgba(0,0,0,.58),0 10px 14px rgba(0,0,0,.72),0 0 24px #1683ff,0 0 58px rgba(0,105,255,.65)}@media(max-width:520px){.ktff-matrix-choice>div{gap:clamp(18px,8vw,42px);min-height:92px}.ktff-matrix-choice button,.ktff-matrix-choice button[data-matrix-pill=red],.ktff-matrix-choice button[data-matrix-pill=blue]{width:112px;min-width:112px;height:70px;min-height:70px}.ktff-matrix-choice button span{width:91px;height:36px;margin:0}}
.ktff-rabbit-home{position:relative;padding-bottom:46px;isolation:isolate}.ktff-rabbit-home .ktff-white-rabbit{position:absolute;z-index:20;right:5px;bottom:4px;left:auto;top:auto;pointer-events:auto;touch-action:manipulation}.ktff-white-rabbit:hover,.ktff-white-rabbit:focus,.ktff-white-rabbit:focus-visible{border:0!important;outline:0!important;outline-offset:0!important;box-shadow:none!important}

/* Gamla legender håller inte ihop hur länge som helst. */
.legend-card.is-crumbling{visibility:hidden}.legend-card.is-rebuilding{animation:ktff-legend-rebuild .5s steps(3,end)}.ktff-legend-piece{position:fixed!important;z-index:8800!important;margin:0!important;pointer-events:none!important;transform-origin:center!important;overflow:hidden!important;will-change:transform,opacity;animation:ktff-legend-fall 3.4s var(--piece-delay) cubic-bezier(.16,.68,.22,1) forwards!important}@keyframes ktff-legend-fall{0%{transform:translate(0,0) rotate(0deg);opacity:1}10%{transform:translate(calc(var(--piece-x)*.08),-12px) rotate(calc(var(--piece-spin)*.05));opacity:1}35%{transform:translate(calc(var(--piece-x)*.48),calc(var(--piece-y)*.2)) rotate(calc(var(--piece-spin)*.35));opacity:1}84%{transform:translate(var(--piece-x),calc(var(--piece-y)*.86)) rotate(var(--piece-spin));opacity:1}100%{transform:translate(calc(var(--piece-x)*1.08),var(--piece-y)) rotate(calc(var(--piece-spin)*1.15));opacity:0}}@keyframes ktff-legend-rebuild{0%{opacity:0;filter:grayscale(1)}100%{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.ktff-legend-piece{animation-duration:.9s!important}.legend-card.is-rebuilding{animation:none}}

/* Besokare 1337 far en enda, serververifierad LEET-hyllning. */
.ktff-visitor-milestone{position:fixed;inset:0;z-index:17000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.9);opacity:0;transition:opacity .35s ease}.ktff-visitor-milestone.is-visible{opacity:1}.ktff-visitor-milestone.is-closing{opacity:0}.ktff-visitor-milestone-box{position:relative;width:min(620px,100%);padding:30px 24px 25px;text-align:center;color:#d8ffd0;background:#020702;border:3px solid #54ff32;box-shadow:0 0 0 4px #071507,0 0 42px #32ff247a,inset 0 0 35px #19ff151f;font-family:'Courier New',monospace;transform:scale(.82);transition:transform .42s cubic-bezier(.2,.9,.25,1.25);overflow:hidden}.ktff-visitor-milestone.is-visible .ktff-visitor-milestone-box{transform:scale(1)}.ktff-visitor-milestone-box:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#7cff6717 3px 4px)}.ktff-visitor-milestone-kicker{position:relative;margin:0 0 10px;color:#fff500;font-weight:700;letter-spacing:.24em}.ktff-visitor-milestone-box h2{position:relative;font:900 clamp(1.5rem,5vw,3rem)/1 'Courier New',monospace;color:#fff;margin:0}.ktff-visitor-milestone-box>strong{position:relative;display:block;margin:14px 0 8px;font:900 clamp(3rem,12vw,7.5rem)/.9 'Courier New',monospace;letter-spacing:-.08em;color:#7cff45;text-shadow:0 0 8px #3cff28,0 0 24px #13ff00;animation:ktff-milestone-glow .8s steps(2) infinite}.ktff-visitor-milestone-box>p:not(.ktff-visitor-milestone-kicker){position:relative;margin:14px 0 5px;font-weight:700;letter-spacing:.18em;color:#fff}.ktff-visitor-milestone-box small{position:relative;display:block;color:#b8d9b3;margin-bottom:21px}.ktff-visitor-milestone-box button{position:relative;color:#111;background:#c9c9c9}.ktff-visitor-milestone-active{overflow:hidden}@keyframes ktff-milestone-glow{50%{color:#fff500;text-shadow:0 0 9px #fff500,0 0 28px #79ff00}}@media(max-width:520px){.ktff-visitor-milestone-box{padding:24px 14px 20px}.ktff-visitor-milestone-box>strong{letter-spacing:-.12em}.ktff-visitor-milestone-kicker{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.ktff-visitor-milestone,.ktff-visitor-milestone-box{transition:none}.ktff-visitor-milestone-box>strong{animation:none}}

.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.preview-banner{background:#fff1a0;color:#17263b;padding:12px;text-align:center;font:16px system-ui,sans-serif}.error{border-color:#b31e1e;background:#fff0ed}

/* KTFF GAME SYSTEM HISTORY */
@media(min-width:1101px){.nav{grid-template-columns:repeat(8,1fr)}}
.game-history-intro{background:#071635;color:#fff;border:2px inset #a7b3c0;padding:13px 15px;margin-bottom:8px}
.game-history-intro h2{font:900 1.18rem 'Courier New',monospace;color:#fff239;margin-bottom:4px}
.game-history-intro p{color:#b7dafa;margin:0;font-size:.9rem}
.game-history-card{border:2px solid;border-color:#fff #6c7981 #6c7981 #fff;background:#ececeb;box-shadow:0 0 0 1px #9fb6c4;margin-bottom:8px}
.game-history-header{display:grid;grid-template-columns:78px minmax(0,1fr);background:linear-gradient(90deg,#003aa3,#0983d6);color:#fff;align-items:stretch}
.game-history-header time{display:grid;place-items:center;background:#001d55;color:#fff239;font:900 1.1rem 'Courier New',monospace;border-right:2px groove #74a9d0;padding:7px}
.game-history-header div{padding:5px 9px}
.game-history-header span{display:block;font:.68rem 'Courier New',monospace;color:#b8dcff;letter-spacing:1px}
.game-history-header h3{margin:1px 0 0;font:900 1rem 'Courier New',monospace;color:#fff}
.game-history-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(265px,36%);gap:10px;padding:10px;align-items:start}
.game-history-copy p{margin:0 0 8px;line-height:1.38;font-size:.88rem}
.game-history-copy .game-history-rules{color:#263443}
.game-history-rules strong{font-family:'Courier New',monospace;color:#001f58}
.game-history-action{margin:10px 0 0!important}
.game-history-action .button{padding:6px 11px;font:.8rem 'Courier New',monospace}
.game-highscore{margin:0;padding:0;border:2px inset #d9d9d9;background:#f7f7f3}
.game-highscore summary{list-style:none;background:#d7dde3;color:#142d56;padding:7px 9px;font:900 .78rem 'Courier New',monospace;display:flex;justify-content:space-between;gap:8px}
.game-highscore summary::-webkit-details-marker{display:none}
.game-highscore[open] summary span{transform:rotate(180deg)}
.game-highscore-rule,.game-highscore-empty{font-size:.74rem;line-height:1.35;margin:7px 8px!important;color:#4a4a4a}
.game-score-list{list-style:none;margin:0;padding:0 7px 7px;counter-reset:none}
.game-score-list li{display:grid;grid-template-columns:23px minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 3px;border-top:1px solid #bcc4ca;font-size:.76rem;line-height:1.2}
.game-score-rank{font-family:'Courier New',monospace;color:#485b72}
.game-score-nick{overflow-wrap:anywhere;min-width:0}
.game-score-list strong{white-space:nowrap;color:#001c4c}
.game-no-score{background:#d7dde3;border:2px inset #ddd;padding:9px;color:#455260;font:.76rem/1.35 'Courier New',monospace}
.game-no-score strong,.game-no-score span{display:block}
.game-no-score strong{color:#142d56;margin-bottom:3px}
@media(max-width:1100px){.nav{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.game-history-grid{grid-template-columns:1fr}.game-highscore{max-width:none}}
@media(max-width:460px){.nav{grid-template-columns:repeat(2,1fr)}.nav a:last-child{grid-column:auto}.game-history-header{grid-template-columns:65px minmax(0,1fr)}.game-history-header h3{font-size:.88rem}.game-history-grid{padding:8px}.game-history-copy p{font-size:.82rem}}

.game-history-grid--solo{grid-template-columns:1fr}


/* KTFF SUBPAGE NAVIGATION */
.subpage-nav{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 8px;padding:6px;background:#9da2a6;border:2px inset #d7d7d7}
.subpage-nav a{display:inline-block;padding:6px 12px;background:#d0d0d0;border:2px outset #fff;color:#111;font:bold .82rem 'Courier New',monospace;text-decoration:none}
.subpage-nav a:hover{background:#e6e6e6;color:#000080}
.subpage-nav a[aria-current=page]{background:#fff239;color:#050527;border-color:#fffbb0 #91823d #91823d #fffbb0}
@media(max-width:460px){.subpage-nav{display:grid;grid-template-columns:1fr 1fr}.subpage-nav a{text-align:center}}

/* KTFF 2026-11-02: contain seat radio inputs inside their scrollable map. */
.seat-desk{position:relative}
