*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{font-size: 19.2px}:root,[data-theme="dark"]{--or: #E8610A;--or-l: #FF8C42;--or-d: #9B3F05;--bk: #0A0A0A;--dk: #111111;--dk2: #1A1A1A;--dk3: #242424;--mid: #333333;--gr: #666666;--ow: #E8E0D5;--wh: #F5F0E8;--gn: #4CAF50;--rd: #E53935;--yw: #FFC107;--fn: 'IBM Plex Mono','Courier New',monospace;--scan: rgba(255,255,255,0.012);--bg-pattern: repeating-linear-gradient( 0deg,transparent,transparent 2px,var(--scan) 2px,var(--scan) 4px );--shadow: rgba(0,0,0,0.6);--pdf-bg: #1a1a1a}[data-theme="light"]{--or: #B83E00;--or-l: #D45000;--or-d: #7A2800;--bk: #F2EAD5;--dk: #E6DCCA;--dk2: #D8CDB8;--dk3: #C8BAA0;--mid: #8A7860;--gr: #3A3028;--ow: #0E0A04;--wh: #000000;--gn: #1A5C1A;--rd: #9C1010;--yw: #7A5800;--fn: 'IBM Plex Mono','Courier New',monospace;--scan: rgba(60,40,10,0.035);--bg-pattern: repeating-linear-gradient( 0deg,transparent,transparent 2px,var(--scan) 2px,var(--scan) 4px );--shadow: rgba(60,40,10,0.25);--pdf-bg: #e8dfc8}html,body{height: 100%}body{font-family: var(--fn);background-color: var(--bk);background-image: var(--bg-pattern);color: var(--ow);display: flex;flex-direction: column;overflow: hidden;transition: background-color 0.3s,color 0.3s}body.mode-normal{overflow-y: auto;overflow-x: hidden}body.mode-normal .bot{display: none !important}body.mode-split{overflow: hidden}body.mode-split .top{flex: 1;min-height: 0;overflow-y: auto;overflow-x: hidden}body.mode-split .bot{flex-grow: 0;flex-shrink: 0;flex-basis: 46vh;display: flex;flex-direction: column}.header{background: var(--dk);border-bottom: 1px solid var(--mid);padding: .7rem 1.3rem;display: flex;align-items: center;gap: .8rem;flex: 0 0 auto}.brand{color: var(--or);font-size: .9rem;font-weight: 700;letter-spacing: .12em;text-transform: uppercase}.brand-ver{color: var(--or-d);font-size: .6rem;margin-left: .2em}.brand-sub{color: var(--gr);font-size: .6rem;margin-left: auto}.theme-toggle{background: transparent;border: 1px solid var(--mid);color: var(--gr);font-family: var(--fn);font-size: .6rem;padding: .22rem .65rem;cursor: pointer;letter-spacing: .06em;text-transform: uppercase;transition: border-color .15s,color .15s;white-space: nowrap}.theme-toggle:hover{border-color: var(--or);color: var(--or)}.top{display: flex;flex-direction: column}.page{max-width: 1160px;margin: 0 auto;padding: .9rem 1.3rem;width: 100%}.card{background: var(--dk);border: 1px solid var(--mid);padding: 1.1rem;margin-bottom: .9rem}.card-title{font-size: .68rem;letter-spacing: .15em;text-transform: uppercase;color: var(--or);margin-bottom: .85rem;padding-bottom: .38rem;border-bottom: 1px solid var(--mid);display: flex;align-items: center;gap: .6rem}.upload-grid{display: grid;grid-template-columns: 1fr 1fr;gap: .9rem;margin-bottom: .9rem}@media (max-width: 540px){.upload-grid{grid-template-columns: 1fr}}.drop{border: 2px dashed var(--mid);background: var(--dk2);padding: 1.2rem .9rem;text-align: center;cursor: pointer;position: relative;transition: border-color .2s,background .2s}.drop:hover,.drop.drag-over{border-color: var(--or);background: rgba(196,80,0,.06)}.drop.has-file{border-color: var(--gn);background: rgba(42,106,42,.05)}.drop input[type=file]{position: absolute;inset: 0;opacity: 0;cursor: pointer;width: 100%;height: 100%}.drop-icon{font-size: 1.4rem;display: block;margin-bottom: .22rem}.drop-lbl{font-size: .64rem;letter-spacing: .1em;text-transform: uppercase;color: var(--gr)}.drop-name{font-size: .68rem;color: var(--gn);margin-top: .22rem;word-break: break-all}.lib-panel{display: none;margin-bottom: .9rem}.lib-panel.on{display: block}.lib-table{width: 100%;border-collapse: collapse;font-size: .68rem}.lib-table thead th{background: var(--dk2);color: var(--gr);font-size: .6rem;letter-spacing: .1em;text-transform: uppercase;padding: .38rem .55rem;text-align: left;border-bottom: 1px solid var(--mid)}.lib-table tbody tr{border-bottom: 1px solid var(--dk3);cursor: pointer;transition: background .12s}.lib-table tbody tr:hover{background: rgba(196,80,0,.06)}.lib-table tbody tr.selected{background: rgba(196,80,0,.12);border-left: 3px solid var(--or)}.lib-table td{padding: .35rem .55rem;vertical-align: middle}.lib-age{color: var(--gr);font-size: .6rem;white-space: nowrap}.lib-saved{color: var(--gn);font-size: .58rem;display: inline-flex;align-items: center;gap: 2px}.lib-del-result{color: var(--gr);cursor: pointer;font-size: .65rem;padding: 0 2px;line-height: 1;transition: color .12s}.lib-del-result:hover{color: var(--rd)}.lib-del-btn{background: transparent;border: 1px solid var(--mid);color: var(--gr);font-size: .65rem;padding: .1em .4em;cursor: pointer;transition: border-color .15s,color .15s;font-family: var(--fn)}.lib-del-btn:hover{border-color: var(--rd);color: var(--rd)}.opts{display: flex;gap: .9rem;align-items: flex-end;flex-wrap: wrap;margin-bottom: .8rem}.opt{display: flex;flex-direction: column;gap: .26rem}.opt-lbl{font-size: .6rem;letter-spacing: .1em;text-transform: uppercase;color: var(--gr)}.opt-row{display: flex;align-items: center;gap: .5rem}.opt-hint{font-size: .56rem;color: var(--gr)}input[type=range]{-webkit-appearance: none;width: 125px;height: 4px;background: var(--mid);outline: none;cursor: pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance: none;width: 11px;height: 11px;background: var(--or);border-radius: 0;cursor: pointer}input[type=range]::-moz-range-thumb{width: 11px;height: 11px;background: var(--or);border: none;border-radius: 0}.rv{font-size: .78rem;color: var(--or);min-width: 3.5ch;text-align: right}input[type=number],input[type=text]{background: var(--dk2);border: 1px solid var(--mid);color: var(--ow);font-family: var(--fn);font-size: .72rem;padding: .24rem .48rem;outline: none}input[type=number]{width: 58px}input[type=text]::placeholder{color: var(--gr)}input:focus{border-color: var(--or)}.btn{background: transparent;border: 1px solid var(--or);color: var(--or);font-family: var(--fn);font-size: .68rem;letter-spacing: .1em;text-transform: uppercase;padding: .46rem 1.2rem;cursor: pointer;transition: background .15s,color .15s;white-space: nowrap;text-decoration: none;display: inline-flex;align-items: center}.btn:hover:not(:disabled){background: var(--or);color: var(--bk)}.btn:disabled{border-color: var(--mid);color: var(--gr);cursor: not-allowed}.btn-sm{padding: .3rem .75rem;font-size: .62rem}.btn-ghost{border-color: var(--mid);color: var(--gr)}.btn-ghost:hover:not(:disabled){background: var(--mid);color: var(--ow)}.btn-ghost.on{border-color: var(--or);color: var(--or);background: rgba(196,80,0,.1)}.btn-yw{border-color: var(--yw);color: var(--yw)}.btn-yw:hover:not(:disabled){background: var(--yw);color: var(--bk)}.btn-sync{border-color: var(--gn);color: var(--gn)}.btn-sync:hover:not(:disabled){background: var(--gn);color: var(--bk)}.status-bar{display: none;background: var(--dk2);border: 1px solid var(--mid);padding: .5rem .85rem;font-size: .66rem;color: var(--gr);margin-bottom: .85rem;align-items: center;gap: .55rem}.status-bar.on{display: flex}.spinner{width: 11px;height: 11px;border: 2px solid var(--mid);border-top-color: var(--or);border-radius: 50%;animation: spin .7s linear infinite;flex-shrink: 0}@keyframes spin{to{transform: rotate(360deg)}}.error-box{display: none;background: rgba(184,32,32,.1);border: 1px solid var(--rd);padding: .5rem .85rem;font-size: .68rem;color: var(--rd);margin-bottom: .8rem}.error-box.on{display: block}.result{display: none}.result.on{display: block}.stats-row{display: grid;grid-template-columns: repeat(5,1fr);gap: .55rem;margin-bottom: .85rem}@media (max-width: 640px){.stats-row{grid-template-columns: repeat(3,1fr)}}.stat-card{background: var(--dk);border: 1px solid var(--mid);padding: .6rem .8rem;text-align: center}.stat-val{font-size: 1.35rem;font-weight: 700;line-height: 1;margin-bottom: .1rem}.sv-gn{color: var(--gn)}.sv-or{color: var(--or)}.sv-rd{color: var(--rd)}.sv-yw{color: var(--yw)}.stat-lbl{font-size: .55rem;letter-spacing: .1em;text-transform: uppercase;color: var(--gr)}.cov-wrap{background: var(--dk);border: 1px solid var(--mid);padding: .65rem 1rem;margin-bottom: .85rem;display: flex;flex-direction: column;gap: .42rem}.cov-row{display: flex;align-items: center;gap: .5rem}.cov-name{font-size: .58rem;color: var(--gr);min-width: 12ch;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.cov-track{flex: 1;height: 4px;background: var(--mid)}.cov-fill{height: 100%;background: var(--or);transition: width .6s ease;width: 0}.cov-pct{font-size: .68rem;color: var(--or);min-width: 4ch;text-align: right}.cov-note{font-size: .56rem;color: var(--gr);margin-left: .2rem}.toolbar{display: flex;gap: .45rem;align-items: center;flex-wrap: wrap;margin-bottom: .85rem}.tsep{width: 1px;height: 1rem;background: var(--mid);flex-shrink: 0}.page-jump{display: flex;align-items: center;gap: .32rem;font-size: .6rem;color: var(--gr)}.page-jump input{width: 50px}.tabs{display: flex;border-bottom: 1px solid var(--mid);margin-bottom: .85rem}.tab-btn{background: none;border: none;border-bottom: 2px solid transparent;color: var(--gr);font-family: var(--fn);font-size: .63rem;letter-spacing: .1em;text-transform: uppercase;padding: .5rem .85rem;cursor: pointer;margin-bottom: -1px;transition: color .15s,border-color .15s;white-space: nowrap}.tab-btn:hover{color: var(--ow)}.tab-btn.on{color: var(--or);border-bottom-color: var(--or)}.tab-btn.yw.on{color: var(--yw);border-bottom-color: var(--yw)}.tc{display: inline-block;background: var(--dk3);padding: .06em .34em;font-size: .58rem;margin-left: .26em}.tab-btn.on .tc{background: var(--or);color: var(--bk)}.tab-btn.yw.on .tc{background: var(--yw);color: var(--bk)}.tab-panel{display: none}.tab-panel.on{display: block}.block-list{display: flex;flex-direction: column;gap: .55rem;padding-bottom: .8rem}.block-entry{background: var(--dk);border-left: 3px solid var(--mid)}.block-entry.match{border-left-color: var(--gn)}.block-entry.only-a{border-left-color: var(--or)}.block-entry.only-b{border-left-color: var(--rd)}.block-entry.severe{border-left-color: var(--yw) !important;outline: 1px solid rgba(154,112,0,.25)}.block-entry.hidden-rec,.block-entry.filter-hidden{display: none}.block-hdr{display: flex;align-items: center;gap: .5rem;padding: .38rem .72rem;background: var(--dk2);cursor: pointer;border: none;width: 100%;text-align: left;font-family: var(--fn)}.block-hdr:hover{background: var(--dk3)}.badge{font-size: .55rem;letter-spacing: .06em;text-transform: uppercase;padding: .1em .4em;font-weight: 700;flex-shrink: 0}.bm{background: var(--gn);color: #000}.ba{background: var(--or);color: #000}.bb{background: var(--rd);color: #fff}.bsev{background: var(--yw);color: #000}.brec{background: var(--gr);color: #000;font-weight: 400}.block-score{font-size: .6rem;flex-shrink: 0}.block-pages{flex-shrink: 0;font-size: .56rem;color: var(--gr);background: var(--dk3);padding: .04em .36em;border: 1px solid var(--mid);white-space: nowrap;max-width: 17ch;overflow: hidden;text-overflow: ellipsis}.block-prev{font-size: .64rem;color: var(--gr);flex: 1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.chev{margin-left: auto;color: var(--gr);font-size: .54rem;flex-shrink: 0;transition: transform .2s}.block-entry.open .chev{transform: rotate(90deg)}.block-body{display: none;padding: .7rem;gap: .7rem}.block-entry.open .block-body{display: flex}.block-col{flex: 1;display: flex;flex-direction: column;gap: .2rem}.block-col-lbl{font-size: .55rem;letter-spacing: .1em;text-transform: uppercase;color: var(--gr);border-bottom: 1px solid var(--mid);padding-bottom: .18rem;margin-bottom: .18rem;display: flex;align-items: center;gap: .28rem;flex-wrap: wrap}.cpages{font-size: .54rem;color: var(--gr);background: var(--dk3);padding: .04em .34em;border: 1px solid var(--mid)}.block-txt{font-size: .67rem;color: var(--ow);line-height: 1.6;white-space: pre-wrap;word-break: break-word}.div-v{width: 1px;background: var(--mid);flex-shrink: 0;margin: 0 .26rem}.btn-jump{background: transparent;border: 1px solid var(--mid);color: var(--gr);font-family: var(--fn);font-size: .54rem;letter-spacing: .05em;text-transform: uppercase;padding: .14em .46em;cursor: pointer;white-space: nowrap;transition: border-color .15s,color .15s;flex-shrink: 0}.btn-jump:hover{border-color: var(--or);color: var(--or)}.empty{text-align: center;padding: 1.6rem;color: var(--gr);font-size: .66rem}.bot{display: none;flex-direction: column}#viewer-iframe{flex: 1;border: none;min-height: 0;display: block}.resize-handle{flex: 0 0 5px;background: var(--or-d);cursor: ns-resize;transition: background .15s}.resize-handle:hover{background: var(--or)}.iframe-nav{background: var(--dk);border-bottom: 1px solid var(--mid);padding: .38rem .85rem;display: flex;align-items: center;gap: .5rem;flex-wrap: wrap;flex: 0 0 auto}.dev-counter{font-size: .68rem;color: var(--or);font-weight: 700;min-width: 7ch;text-align: center}.dev-badge{font-size: .56rem;letter-spacing: .06em;text-transform: uppercase;padding: .1em .4em;font-weight: 700;flex-shrink: 0}.dba{background: var(--or);color: #000}.dbb{background: var(--rd);color: #fff}.dbsev{background: var(--yw);color: #000}.dev-info{font-size: .63rem;color: var(--ow);flex: 1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.iframe-split{display: grid;grid-template-columns: 1fr 1fr;gap: 3px;flex: 1;min-height: 0;padding: 3px}@media (max-width: 660px){.iframe-split{grid-template-columns: 1fr}}.pdf-wrap{display: flex;flex-direction: column;min-height: 0}.frame-hdr{background: var(--dk2);border: 1px solid var(--mid);border-bottom: none;padding: .2rem .5rem;display: flex;align-items: center;gap: .4rem;flex-shrink: 0;min-height: 30px}.frame-name{font-size: .6rem;letter-spacing: .07em;text-transform: uppercase;color: var(--gr);flex: 1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.frame-pg{display: flex;align-items: center;gap: .28rem;font-size: .6rem;color: var(--gr)}.frame-pg input{width: 46px;background: var(--dk3);border: 1px solid var(--mid);color: var(--ow);font-family: var(--fn);font-size: .66rem;padding: .14rem .32rem;outline: none;text-align: center}.frame-pg input:focus{border-color: var(--or)}.pdf-container{flex: 1;overflow: auto;min-height: 0;background: var(--pdf-bg);border: 1px solid var(--mid)}.pdf-viewer-wrap{flex: 1;min-height: 0;overflow: hidden;display: flex;flex-direction: column;border: 1px solid var(--mid)}.viewer-nav{background: var(--dk);border-bottom: 2px solid var(--or);padding: .4rem .9rem;display: flex;align-items: center;gap: .55rem;flex-wrap: wrap;flex-shrink: 0;min-height: 44px}.viewer-split{display: flex;height: calc(100vh - 44px)}.viewer-frame-box{flex: 1;display: flex;flex-direction: column;min-width: 0;border-right: 1px solid var(--mid)}.viewer-frame-box:last-child{border-right: none}.viewer-pdf-container{flex: 1;overflow: auto;background: var(--pdf-bg);min-height: 0}[data-tip]{position: relative}[data-tip]::after{content: attr(data-tip);position: absolute;bottom: calc(100% + 6px);left: 50%;transform: translateX(-50%);background: var(--dk3);color: var(--ow);border: 1px solid var(--mid);padding: .3rem .65rem;font-size: .58rem;font-family: var(--fn);white-space: nowrap;pointer-events: none;opacity: 0;transition: opacity .15s;z-index: 1000;letter-spacing: .04em;max-width: 260px;white-space: normal;text-align: center}[data-tip]:hover::after{opacity: 1}[data-tip-down]::after{bottom: auto;top: calc(100% + 6px)}.help-panel{display: none;background: var(--dk);border: 1px solid var(--mid);padding: 1rem 1.2rem;margin-bottom: .9rem;font-size: .68rem;line-height: 1.7;color: var(--ow)}.help-panel.on{display: block}.help-panel h3{font-size: .72rem;color: var(--or);letter-spacing: .1em;text-transform: uppercase;margin-bottom: .5rem;margin-top: .85rem;border-bottom: 1px solid var(--mid);padding-bottom: .2rem}.help-panel h3:first-child{margin-top: 0}.help-panel kbd{background: var(--dk2);border: 1px solid var(--mid);padding: .05em .38em;font-family: var(--fn);font-size: .9em}.help-panel table{border-collapse: collapse;width: 100%;margin-top: .4rem}.help-panel td{padding: .2rem .5rem;vertical-align: top}.help-panel td:first-child{color: var(--or);white-space: nowrap;min-width: 10rem}.knock-toast{position: fixed;top: 1rem;right: 1rem;z-index: 10000;background: var(--dk);border: 2px solid var(--yw);padding: .9rem 1.1rem;width: 300px;font-family: var(--fn);box-shadow: 0 4px 20px var(--shadow);display: none;flex-direction: column;gap: .55rem;animation: slideIn .25s ease}.knock-toast.on{display: flex}@keyframes slideIn{from{transform: translateX(120%);opacity: 0}to{transform: translateX(0);opacity: 1}}.knock-toast-title{font-size: .72rem;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;color: var(--yw)}.knock-toast-msg{font-size: .68rem;color: var(--ow);line-height: 1.5}.knock-progress{height: 3px;background: var(--mid);overflow: hidden}.knock-progress-bar{height: 100%;background: var(--yw);transition: width .3s ease}.knock-toast-btns{display: flex;gap: .5rem;margin-top: .2rem}.btn-knock-allow{border-color: var(--gn);color: var(--gn);flex: 1}.btn-knock-allow:hover{background: var(--gn);color: var(--bk)}.btn-knock-deny{border-color: var(--rd);color: var(--rd);flex: 1}.btn-knock-deny:hover{background: var(--rd);color: #fff}.knock-status{font-size: .68rem;color: var(--gr);min-height: 1.4rem;text-align: center}.knock-dots span{animation: blink 1.2s infinite}.knock-dots span:nth-child(2){animation-delay: .2s}.knock-dots span:nth-child(3){animation-delay: .4s}@keyframes blink{0%,80%,100%{opacity: 0}40%{opacity: 1}}.sheet-panel{background: var(--dk);border: 1px solid var(--mid);padding: .55rem .7rem}.sheet-list{display: flex;flex-wrap: wrap;gap: .35rem;margin-top: .25rem}.sheet-cb{display: flex;align-items: center;gap: .3rem;font-size: .62rem;color: var(--ow);cursor: pointer;background: var(--dk2);border: 1px solid var(--mid);padding: .2rem .55rem;transition: border-color .15s,background .15s;white-space: nowrap}.sheet-cb:hover{border-color: var(--or)}.sheet-cb input[type="checkbox"]{accent-color: var(--or);width: 12px;height: 12px;cursor: pointer}.sheet-cb.checked{border-color: var(--or);background: rgba(196,80,0,.1)}.sheet-loading{font-size: .6rem;color: var(--gr);font-style: italic;padding: .2rem 0}:root,[data-theme="dark"],[data-theme="light"]{--orange: var(--or);--orange-light: var(--or-l);--orange-dim: var(--or-d);--black: var(--bk);--dark: var(--dk);--dark2: var(--dk2);--dark3: var(--dk3);--off-white: var(--ow);--white: var(--wh);--grey: var(--gr);--font-mono: var(--fn);--scan-line: var(--scan)}body{font-size: 14px;overflow-y: auto !important;overflow-x: hidden;display: flex;flex-direction: column;min-height: 100vh}#site-header{position: sticky;top: 0;z-index: 200;background: var(--dk);border-bottom: 2px solid var(--or);box-shadow: 0 0 30px rgba(232,97,10,0.2);flex: 0 0 auto}.header-inner{max-width: 1200px;margin: 0 auto;padding: 0 2rem;display: flex;align-items: center;justify-content: space-between;height: auto;min-height: 60px;padding-top: 0.3rem;padding-bottom: 0.3rem}.header-scanline{height: 1px;background: linear-gradient(90deg,transparent,var(--or),transparent);opacity: 0.35}#main-nav{display: flex;align-items: flex-end}.nav-controls{display: flex;flex-direction: column;align-items: flex-end;gap: 0.25rem}.nav-meta{display: flex;align-items: center;gap: 0.5rem;padding-bottom: 0.15rem;border-bottom: 1px solid var(--mid);margin-bottom: 0.1rem}.logo-link{text-decoration: none;display: inline-block}.logo{display: flex;align-items: center}.logo-img-wrap{position: relative;display: inline-block;background: #0A0A0A;border-radius: 6px;padding: 4px 6px;box-shadow: 0 0 10px rgba(232,97,10,0.25)}.logo-img{height: 48px;width: auto;display: block;transition: filter 0.2s;filter: drop-shadow(0 0 8px rgba(232,97,10,0.35))}.logo-link:hover .logo-img{filter: drop-shadow(0 0 14px rgba(232,97,10,0.65))}.logo-systems{font-family: 'Caveat','Segoe Script',cursive;font-size: 1.35rem;font-weight: 600;color: var(--ow);position: absolute;bottom: 4px;left: 8px;line-height: 1;opacity: 0.95;letter-spacing: 0.52em;pointer-events: none;text-shadow: 1px 1px 3px rgba(0,0,0,0.85),-1px -1px 2px rgba(0,0,0,0.6)}.nav-list{list-style: none;display: flex;gap: 0;align-items: center;flex-wrap: nowrap}.nav-item{display: block;padding: 0.5rem 0.9rem;font-size: 0.65rem;font-weight: 600;letter-spacing: 0.2em;text-transform: uppercase;text-decoration: none;color: var(--gr);border: 1px solid transparent;transition: color 0.2s,border-color 0.2s,background 0.2s;position: relative}.nav-item:hover{color: transparent;border-color: var(--or);background: rgba(232,97,10,0.06)}.nav-item:hover::after{content: attr(data-label);position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;color: var(--or);opacity: 1}.nav-item.active{color: var(--or);border-color: var(--or);background: rgba(232,97,10,0.08)}.nav-toggle{display: none;flex-direction: column;gap: 5px;background: none;border: none;cursor: pointer;padding: 8px}.nav-toggle span{display: block;width: 24px;height: 2px;background: var(--or);transition: transform 0.3s}.theme-toggle{margin-left: 1rem;font-family: var(--fn);font-size: 0.65rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;background: transparent;border: 1px solid var(--mid);color: var(--gr);padding: 0.35rem 0.75rem;cursor: pointer;transition: border-color 0.2s,color 0.2s}.theme-toggle:hover{border-color: var(--or);color: var(--or)}#lang-switcher{margin-left: 0.5rem;background: var(--dk2);border: 1px solid var(--mid);color: var(--ow);font-family: var(--fn);font-size: 0.65rem;padding: 0.3rem 1.8rem 0.3rem 0.6rem;cursor: pointer;appearance: none;-webkit-appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23E8610A'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.5rem center;min-width: 110px;transition: border-color 0.2s}#lang-switcher:focus{border-color: var(--or);outline: none}.page-content{display: none;flex: 1;max-width: 1160px;margin: 0 auto;padding: 3rem 2rem 4rem;width: 100%}.page-content.active-page{display: block}.hero{padding: 5rem 0 4rem}.hero-tag{font-size: 0.63rem;letter-spacing: 0.4em;color: var(--or);text-transform: uppercase;margin-bottom: 1.5rem;display: flex;align-items: center;gap: 1rem}.hero-tag::before{content: '';display: inline-block;width: 30px;height: 1px;background: var(--or)}.hero-title{font-family: var(--fn);font-size: clamp(2.2rem,5.5vw,4.5rem);font-weight: 700;line-height: 1.05;color: var(--wh);margin-bottom: 2rem;letter-spacing: -0.02em}.hero-title .accent{color: var(--or)}.hero-subtitle{font-size: 0.88rem;color: var(--gr);max-width: 480px;line-height: 1.95;margin-bottom: 3rem}.hero-cta{display: inline-block;padding: 0.85rem 2rem;border: 2px solid var(--or);color: var(--or);font-family: var(--fn);font-size: 0.75rem;letter-spacing: 0.2em;text-decoration: none;text-transform: uppercase;cursor: pointer;background: transparent;transition: background 0.2s,color 0.2s;position: relative;overflow: hidden}.hero-cta::after{content: '';position: absolute;inset: 0;background: var(--or);transform: translateX(-101%);transition: transform 0.25s ease;z-index: -1}.hero-cta:hover{color: var(--bk)}.hero-cta:hover::after{transform: translateX(0)}.cursor{display: inline-block;width: 0.6em;height: 0.9em;background: var(--or);vertical-align: text-bottom;animation: blink 1s step-end infinite;margin-left: 4px}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.section-header{margin-bottom: 3rem;padding-bottom: 1rem;border-bottom: 1px solid var(--mid);position: relative}.section-header::after{content: '';position: absolute;bottom: -1px;left: 0;width: 80px;height: 2px;background: var(--or)}.section-label{font-size: 0.6rem;letter-spacing: 0.4em;color: var(--or-d);text-transform: uppercase;margin-bottom: 0.5rem}.section-title{font-family: var(--fn);font-size: clamp(1.5rem,3vw,2.3rem);font-weight: 700;color: var(--wh);letter-spacing: -0.01em}.card-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: 1px;background: var(--mid);border: 1px solid var(--mid);margin-top: 2rem}.card{background: var(--dk);padding: 2rem;transition: background 0.2s}.card:hover{background: var(--dk2)}.card-number{font-size: 0.6rem;color: var(--or-d);letter-spacing: 0.2em;margin-bottom: 1rem}.card-icon{font-size: 1.5rem;display: block;margin-bottom: 1rem}.card-title{font-family: var(--fn);font-size: 0.9rem;font-weight: 600;color: var(--or);margin-bottom: 0.8rem;text-transform: uppercase;letter-spacing: 0.05em}.card-body{font-size: 0.8rem;color: var(--gr);line-height: 1.8}.cta-row{display: flex;align-items: center;justify-content: space-between;gap: 2rem;padding: 2.5rem;background: var(--dk);border: 1px solid var(--mid);margin-top: 3rem;border-left: 3px solid var(--or);flex-wrap: wrap}.divider{border: none;border-top: 1px solid var(--dk3);margin: 3rem 0}.about-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 4rem;align-items: start}.about-text p{font-size: 0.84rem;color: var(--gr);line-height: 1.95;margin-bottom: 1.2rem}.about-text p strong{color: var(--or);font-weight: 600}.about-stat-list{list-style: none;border: 1px solid var(--mid)}.about-stat-list li{padding: 0.9rem 1.1rem;border-bottom: 1px solid var(--mid);display: flex;justify-content: space-between;align-items: center;font-size: 0.75rem}.about-stat-list li:last-child{border-bottom: none}.stat-label{color: var(--gr);text-transform: uppercase;letter-spacing: 0.1em;font-size: 0.65rem}.stat-value{color: var(--or);font-weight: 600}.stat-value a{color: var(--or);text-decoration: none}.terminal-line{font-size: 0.68rem;color: var(--gr);padding: 0.4rem 0;border-bottom: 1px solid var(--dk3)}.terminal-line .prompt{color: var(--or);margin-right: 0.5rem}.quote-box{margin-top: 2rem;background: var(--dk2);border: 1px solid var(--mid);padding: 1.5rem}.quote-attr{margin-top: 1rem;font-size: 0.68rem;color: var(--or)}.skills-section{margin-bottom: 2.5rem}.skill-category{font-size: 0.6rem;letter-spacing: 0.4em;color: var(--or);text-transform: uppercase;margin-bottom: 1.2rem;margin-top: 2rem}.skill-bar-row{display: grid;grid-template-columns: 180px 1fr 48px;align-items: center;gap: 1rem;margin-bottom: 0.75rem}.skill-bar-label{font-size: 0.75rem;color: var(--ow);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.skill-bar-track{height: 4px;background: var(--mid);position: relative}.skill-bar-fill{position: absolute;top: 0;left: 0;bottom: 0;background: var(--or);width: 0;transition: width 1.2s cubic-bezier(0.16,1,0.3,1)}.skill-bar-pct{color: var(--or);font-size: 0.65rem;text-align: right}.skill-list{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-top: 0.5rem}.skill-item{background: var(--dk2);border: 1px solid var(--mid);padding: 0.6rem 0.9rem;display: flex;align-items: center;gap: 0.7rem;font-size: 0.75rem;color: var(--ow);transition: border-color 0.2s,background 0.2s,color 0.2s;cursor: default}.skill-item:hover{border-color: var(--or);background: var(--dk3);color: var(--or)}.skill-item::before{content: '▸';color: var(--or);font-size: 0.68rem;flex-shrink: 0}.skill-item.skill-highlight{border-color: var(--or);color: var(--or);background: rgba(232,97,10,0.07)}.skill-item.skill-highlight:hover{background: var(--or);color: var(--bk)}.impressum-block{background: var(--dk2);border-left: 3px solid var(--or);padding: 1.8rem 2.2rem;margin-bottom: 1.5rem;max-width: 700px}.impressum-block h3{font-size: 0.65rem;letter-spacing: 0.3em;color: var(--or);text-transform: uppercase;margin-bottom: 1rem}.impressum-block p,.impressum-block address{font-size: 0.8rem;color: var(--gr);line-height: 1.8;font-style: normal}.impressum-block a{color: var(--or);text-decoration: none}#site-footer{background: var(--dk);border-top: 1px solid var(--mid);margin-top: auto}.footer-bar{height: 3px;background: linear-gradient(90deg,var(--or),var(--or-d),transparent)}.footer-inner{max-width: 1160px;margin: 0 auto;padding: 1.5rem 2rem;display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 1rem}.footer-logo-text{font-family: var(--fn);font-weight: 700;font-size: 1.1rem;color: var(--or);letter-spacing: 0.15em}.footer-tagline{display: block;font-size: 0.56rem;color: var(--gr);letter-spacing: 0.25em;margin-top: 2px}.footer-links{display: flex;gap: 1.5rem;flex-wrap: wrap}.footer-links a{font-size: 0.65rem;color: var(--gr);text-decoration: none;letter-spacing: 0.1em;transition: color 0.2s;cursor: pointer}.footer-links a:hover{color: var(--or)}.footer-copy{font-size: 0.65rem;color: var(--gr)}.modal-overlay{position: fixed;inset: 0;z-index: 300;background: rgba(0,0,0,0.82);display: none;align-items: center;justify-content: center;padding: 1rem;backdrop-filter: blur(4px)}.modal-overlay.open{display: flex}.modal-box{background: #0D0D0D;border: 1px solid #2a2a2a;border-top: 3px solid var(--or);width: 100%;max-width: 640px;max-height: min(92vh,900px);display: flex;flex-direction: column;box-shadow: 0 24px 64px rgba(0,0,0,0.7),0 0 0 1px rgba(232,97,10,0.1);animation: modalIn 0.3s cubic-bezier(0.16,1,0.3,1) both}@keyframes modalIn{from{opacity:0;transform:translateY(32px) scale(0.96)}to{opacity:1;transform:none}}.modal-titlebar{display: flex;align-items: center;justify-content: space-between;padding: 1rem 1.4rem;border-bottom: 1px solid #222;background: #111;font-size: 0.62rem;letter-spacing: 0.22em;color: var(--or);font-weight: 700;flex-shrink: 0;text-transform: uppercase}.modal-close{background: none;border: 1px solid #333;color: #555;cursor: pointer;width: 28px;height: 28px;display: flex;align-items: center;justify-content: center;font-size: 0.75rem;transition: border-color 0.2s,color 0.2s,background 0.2s;flex-shrink: 0}.modal-close:hover{border-color: var(--or);color: var(--or);background: rgba(232,97,10,0.08)}.modal-body{padding: 1.6rem 1.8rem 2rem;overflow-y: auto;flex: 1;background: #0D0D0D;overscroll-behavior: contain}.modal-intro{font-size: 0.76rem;color: #666;margin-bottom: 1.6rem;line-height: 1.75}.form-row{margin-bottom: 1.1rem;width: 100%}.form-row label,.form-file-row label{display: block;font-size: 0.58rem;letter-spacing: 0.22em;color: var(--or-d);text-transform: uppercase;margin-bottom: 0.4rem;font-weight: 600}.form-input,.form-select,.form-textarea{width: 100%;background: #161616;border: 1px solid #2a2a2a;border-bottom: 1px solid var(--or-d);color: #E8E0D5;font-family: var(--fn);font-size: 0.8rem;padding: 0.65rem 0.8rem;outline: none;transition: border-color 0.2s,box-shadow 0.2s;-webkit-appearance: none;appearance: none;border-radius: 0}.form-input::placeholder,.form-textarea::placeholder{color: #444}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color: var(--or);border-bottom-color: var(--or);box-shadow: 0 0 0 1px rgba(232,97,10,0.2),inset 0 1px 0 rgba(232,97,10,0.04);background: #1a1a1a}.form-select{cursor: pointer}.form-textarea{min-height: 180px !important;height: 180px !important;width: 100% !important;max-width: 100% !important;box-sizing: border-box !important;display: block !important;resize: vertical;line-height: 1.6;font-size: 13px !important}.form-row-2col{display: grid;grid-template-columns: 1fr 1fr;gap: 0.8rem;margin-bottom: 1.1rem}.form-row-2col .form-row{margin-bottom: 0}.field-invalid{border-color: #9B2020 !important;background: rgba(155,32,32,0.06) !important}.field-error{color: #E05555;font-size: 0.64rem;margin-top: 0.25rem;display: none;letter-spacing: 0.04em}.form-error-global{color: #E05555;font-size: 0.7rem;text-align: center;padding: 0.6rem;border: 1px solid rgba(224,85,85,0.3);background: rgba(224,85,85,0.06);margin-bottom: 0.5rem;display: none}.form-file-row{margin-bottom: 1.1rem}.form-file-input{display: none}.form-file-btn{display: flex;align-items: center;gap: 0.6rem;width: 100%;padding: 0.6rem 0.9rem;background: #161616;border: 1px dashed #2a2a2a;border-bottom-color: var(--or-d);color: #555;font-family: var(--fn);font-size: 0.74rem;cursor: pointer;transition: border-color 0.2s,color 0.2s,background 0.2s}.form-file-btn:hover{border-color: var(--or);color: #E8E0D5;background: #1a1a1a}.form-file-btn.has-file{border-color: var(--or);color: var(--or);border-style: solid}.form-file-name{font-size: 0.65rem;color: #555;margin-top: 0.3rem;min-height: 1em;letter-spacing: 0.03em}.form-submit{width: 100%;padding: 0.9rem;background: var(--or);color: #0A0A0A;font-family: var(--fn);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.22em;text-transform: uppercase;border: none;cursor: pointer;transition: background 0.2s,letter-spacing 0.2s;margin-top: 0.6rem}.form-submit:hover{background: var(--or-l);letter-spacing: 0.28em}.form-submit:disabled{opacity: 0.55;cursor: wait;letter-spacing: 0.22em}.form-success{text-align: center;padding: 2.5rem 1rem;display: none}.form-success .success-icon{font-size: 2.2rem;color: var(--or);display: block;margin-bottom: 0.8rem}.form-success h3{color: var(--or);font-size: 0.88rem;letter-spacing: 0.18em;text-transform: uppercase;margin-bottom: 0.5rem}.form-success p{color: #666;font-size: 0.76rem;line-height: 1.7}.form-success a{color: var(--or);text-decoration: none}.form-success a:hover{text-decoration: underline}#mac-widget{position: fixed;bottom: 24px;right: 24px;z-index: 250;cursor: pointer;user-select: none;transition: opacity 0.8s ease,transform 0.8s ease}#mac-widget.mac-idle{opacity: 0;transform: scale(0.85) translateY(6px);pointer-events: none}.mac-label{font-size: 0.5rem;color: var(--or);letter-spacing: 0.25em;text-transform: uppercase;text-align: center;margin-top: 4px;font-family: var(--fn);display: block}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation: fadeInUp 0.6s ease both}.fade-in-delay-1{animation-delay:.1s}.fade-in-delay-2{animation-delay:.2s}.fade-in-delay-3{animation-delay:.3s}.fade-in-delay-4{animation-delay:.4s}.fade-in-delay-5{animation-delay:.5s}.fade-in-delay-6{animation-delay:.6s}.fade-in-delay-7{animation-delay:.7s}@keyframes macWobble{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-6deg) scale(1.08)}40%{transform:rotate(5deg) scale(1.05)}60%{transform:rotate(-3deg) scale(1.02)}80%{transform:rotate(2deg) scale(1.01)}100%{transform:rotate(0) scale(1)}}#noscript-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:#8B1A1A;color:#fff;font-family:monospace;font-size:0.82rem;padding:0.7rem 1.5rem;text-align:center}#js-warning-bar{position:fixed;top:0;left:0;right:0;z-index:9998;background:#7a5200;color:#ffe0a0;font-family:monospace;font-size:0.75rem;padding:0.55rem 1.5rem;text-align:center}#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:400;background:var(--dk);border-top:2px solid var(--or);box-shadow:0 -4px 24px rgba(0,0,0,0.6);animation:cookieSlideUp 0.4s cubic-bezier(0.16,1,0.3,1) both}@keyframes cookieSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}#cookie-inner{max-width:1100px;margin:0 auto;padding:0.9rem 1.5rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}#cookie-text{flex:1;min-width:240px}#cookie-text strong{display:block;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--or);margin-bottom:0.3rem}#cookie-text p{font-size:0.73rem;color:var(--gr);line-height:1.6;margin:0}#cookie-btns{display:flex;gap:0.75rem;flex-shrink:0}#cookie-decline,#cookie-accept{font-family:var(--fn);font-size:0.67rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;padding:0.5rem 1.1rem;cursor:pointer;border:1px solid var(--mid);transition:background 0.18s,color 0.18s,border-color 0.18s}#cookie-decline{background:transparent;color:var(--gr)}#cookie-decline:hover{border-color:var(--gr);color:var(--ow)}#cookie-accept{background:var(--or);color:var(--bk);border-color:var(--or)}#cookie-accept:hover{background:var(--or-l);border-color:var(--or-l)}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:2rem}.header-inner{height:60px}}@media (max-width:720px){.header-inner{padding: 0.4rem 1rem}.nav-meta{display: none}.nav-list{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--dk);border-bottom:1px solid var(--mid);z-index:190;gap:0}.nav-list.open{display:flex}.nav-list.open + .nav-meta-mobile,.nav-controls.open .nav-meta{display:flex;flex-direction:row;justify-content:flex-end;padding:0.5rem 1rem;border-top:1px solid var(--mid);background:var(--dk)}.nav-toggle{display:flex}.page-content{padding:2rem 1rem 3rem}.hero{padding:3rem 0 2rem}.skill-bar-row{grid-template-columns:120px 1fr 40px}#cookie-inner{flex-direction:column;gap:0.8rem}#cookie-btns{width:100%}#cookie-decline,#cookie-accept{flex:1;text-align:center}}.modal-mac-header{display: flex;align-items: center;gap: 1rem;padding: 1rem 0 1.2rem;border-bottom: 1px solid #1e1e1e;margin-bottom: 1.4rem}.modal-mac-header img{width: 52px;flex-shrink: 0;opacity: 0.9}.modal-mac-header h3{font-size: 0.82rem;font-weight: 700;color: #E8E0D5;letter-spacing: 0.06em;margin-bottom: 0.3rem}.modal-mac-header p{font-size: 0.71rem;color: #555;line-height: 1.65}.form-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 0.8rem;margin-bottom: 1.1rem}.form-grid .form-row{margin-bottom: 0}@media (max-width: 480px){.form-grid{grid-template-columns: 1fr}}.success-link{color: var(--or);text-decoration: none}.success-link:hover{text-decoration: underline}#mail-notify{position: fixed;bottom: 110px;right: 24px;z-index: 260}#mail-notify{display: flex;flex-direction: column;align-items: center;gap: 3px;cursor: pointer}#mail-notify-icon{font-size: 1.6rem;display: block;color: var(--or);filter: drop-shadow(0 0 8px rgba(232,97,10,0.9));animation: mailGlow 1.2s ease-in-out infinite alternate}@keyframes mailGlow{from{filter: drop-shadow(0 0 4px rgba(232,97,10,0.5));transform: scale(1)}to{filter: drop-shadow(0 0 16px rgba(232,97,10,1)) drop-shadow(0 0 28px rgba(232,97,10,0.6));transform: scale(1.12)}}#mail-notify-count{display: block;background: var(--or);color: #0A0A0A;font-family: var(--fn);font-size: 0.5rem;font-weight: 700;letter-spacing: 0.08em;padding: 1px 5px;min-width: 18px;text-align: center;line-height: 1.6}#mac-widget.mac-pinned{opacity: 1 !important;transform: none !important;pointer-events: auto !important}#drop-overlay{position: fixed;inset: 0;z-index: 500;background: rgba(10,10,10,0.88);display: flex;align-items: center;justify-content: center;pointer-events: none;opacity: 0;transition: opacity 0.18s ease;backdrop-filter: blur(2px)}#drop-overlay.active{opacity: 1;pointer-events: auto}#drop-overlay-inner{border: 2px dashed var(--or);padding: 4rem 6rem;display: flex;flex-direction: column;align-items: center;gap: 1.2rem;animation: dropPulse 1.4s ease-in-out infinite}@keyframes dropPulse{0%,100%{border-color: var(--or);box-shadow: 0 0 20px rgba(232,97,10,0.3)}50%{border-color: var(--or-l);box-shadow: 0 0 40px rgba(232,97,10,0.6)}}#drop-icon{font-size: 4rem;filter: drop-shadow(0 0 16px rgba(232,97,10,0.8));animation: dropBounce 1.4s ease-in-out infinite}@keyframes dropBounce{0%,100%{transform: translateY(0)}50%{transform: translateY(-10px)}}#drop-label{font-family: var(--fn);font-size: 0.75rem;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;color: var(--or);text-align: center}@media (max-width: 600px){#drop-overlay-inner{padding: 2.5rem 2rem}#drop-icon{font-size: 2.8rem}}.attach-warning{display: none;background: rgba(255,193,7,0.08);border: 1px solid rgba(255,193,7,0.4);border-left: 3px solid #FFC107;color: #E8D080;font-size: 0.68rem;line-height: 1.65;padding: 0.6rem 0.8rem;margin-bottom: 0.7rem}.attach-warning strong{color: #FFD740}.form-drop-hint{font-size: 0.56rem;color: #333;letter-spacing: 0.1em;text-align: center;margin-top: 0.2rem;pointer-events: none;user-select: none}.modal-overlay.open .form-file-row.drag-active .form-file-btn{border-color: var(--or);border-style: solid;color: var(--or);background: rgba(232,97,10,0.1)}#drop-overlay{display: none !important}