code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:root{--bg-color: #ffffff;--text-color: #1a1a1a;--accent: #555555;--header-bg: #f5f5f5;--border-color: #eee;--code-bg: #ffffff;--font-mono: "Courier New", Courier, monospace;--color-coding: #90ee90;--color-design: #efe467;--color-about: #f9bc4a}.dark-mode{--bg-color: #0e0e0e;--text-color: #e0e0e0;--accent: #888888;--header-bg: #1a1a1a;--border-color: #333;--code-bg: #161616}body,html,#root{margin:0;padding:0;min-height:100vh;background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-mono);transition:background-color .3s ease,color .3s ease}#intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;display:flex;justify-content:center;align-items:center;z-index:9999;transition:transform 1s cubic-bezier(.7,0,.3,1);transform-origin:center;transform:scaleY(1)}#start-button{padding:15px 30px;background:transparent;color:#fff;border:1px solid #fff;font-family:var(--font-mono);font-size:1.2rem;cursor:pointer;transition:.3s;letter-spacing:2px}#start-button:hover{background:#fff;color:#000}.curtain-open{transform:scaleY(0)!important}#main-content{max-width:900px;margin:0 auto;padding:20px;opacity:0;transition:opacity .8s ease-in}.content-visible #main-content{opacity:1!important}header{border-bottom:1px solid var(--border-color);padding-bottom:20px;margin-bottom:50px}nav ul{list-style:none;padding:0;display:flex;gap:20px}nav a{text-decoration:none;color:var(--text-color);font-weight:700;font-size:1rem;padding-bottom:5px}.typewriter h1{display:block;width:100%;overflow:hidden;border-right:.14em solid var(--text-color);white-space:nowrap;margin:0;letter-spacing:.15em;animation:typing 2s steps(40,end) forwards,blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--text-color)}}.projects-grid{margin-top:40px}.project-item{margin-bottom:60px;opacity:0;transform:translateY(20px);transition:.8s all ease-out}.project-item.show{opacity:1!important;transform:translateY(0)!important}.project-number{font-size:.8rem;color:var(--accent)}.project-title{font-size:1.8rem;margin:10px 0;text-transform:uppercase}.project-desc{line-height:1.6;color:var(--accent)}.project-link{display:inline-block;margin-top:15px;color:var(--text-color);text-decoration:none;border:none;border-bottom:1px solid var(--text-color);font-size:.8rem;background:transparent;cursor:pointer;font-family:var(--font-mono);padding:0;margin-right:15px;outline:none}.project-details-drawer{display:grid;grid-template-columns:1fr;grid-template-rows:0fr;max-height:0;overflow:hidden;transition:grid-template-rows .5s ease-in-out,max-height .5s ease-in-out,margin .5s ease-in-out,visibility .5s;margin:0;visibility:hidden}.project-details-drawer.open{grid-template-rows:1fr;max-height:2000px;margin-top:25px;margin-bottom:40px;visibility:visible}.project-preview-video,.code-window{width:100%;border-radius:6px;box-sizing:border-box;display:block;border:1px solid transparent;opacity:0;min-height:0;transition:opacity .2s ease-in-out,border-color .5s linear}.project-details-drawer.open .project-preview-video,.project-details-drawer.open .code-window{opacity:1;border-color:var(--text-color);transition:opacity .2s ease-in-out,border-color .2s ease-in-out .1s}.project-preview-video{height:auto;filter:grayscale(100%);transition:filter .5s ease}.project-preview-video:hover{filter:grayscale(0%)}.code-window{background:var(--code-bg);color:var(--text-color);display:flex;flex-direction:column;overflow:hidden}.code-header{background:var(--header-bg);padding:10px;display:flex;align-items:center;border-bottom:1px solid var(--text-color)}.dot{width:12px;height:12px;border-radius:50%;margin-right:6px}.red{background:#ff5f56}.yellow{background:#ffbd2e}.green{background:#27c93f}.file-name{margin-left:10px;font-size:.7rem;font-weight:700}pre{margin:0;padding:15px;overflow:auto;background:var(--code-bg)}code{font-family:var(--font-mono);font-size:.75rem;line-height:1.2;color:var(--text-color)}.theme-switch-wrapper{cursor:pointer;padding:5px;display:flex;align-items:center}.theme-switch-pill{width:42px;height:20px;background-color:transparent;border:1px solid var(--text-color);border-radius:50px;position:relative;transition:background-color .3s ease}.theme-switch-knob{width:12px;height:12px;background-color:var(--text-color);border-radius:50%;position:absolute;top:4px;left:4px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.theme-switch-wrapper.active .theme-switch-knob{transform:translate(21px)}.theme-switch-pill:hover{box-shadow:0 0 5px var(--text-color);opacity:.8}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000095;display:flex;justify-content:center;align-items:center;z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lightbox-content img{max-width:100%;max-height:70vh;border:1px solid var(--border-color);border-radius:6px;display:block;margin:0 auto}.tool-tag{color:var(--color-design);margin:0 5px;font-size:.8rem}.lightbox-info{margin-top:30px;color:#fff;font-family:var(--font-mono)}.lightbox-info h2{text-transform:uppercase;letter-spacing:2px}.lightbox-info p{color:#ccc;margin:10px 0}.tool-tag{display:inline-block;margin:5px;font-size:.7rem;color:var(--color-design)}.lightbox-arrow{background:none;border:none;color:var(--text-color);font-size:5rem;cursor:pointer;position:absolute;padding:20px;transition:.3s ease}.lightbox-arrow:hover{color:var(--accent)}.left{left:5%}.right{right:5%}.lightbox-close{position:absolute;top:30px;right:40px;background:none;border:none;color:var(--text-color);font-size:3rem;cursor:pointer}.lightbox-close:hover{color:var(--accent)}footer{width:100%;max-width:900px;margin:100px auto 0;padding:30px 0;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--accent);display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.footer-links a,.footer-links .footer-btn{color:var(--accent);font-weight:700;font-family:var(--font-mono);font-size:.8rem;text-decoration:none;transition:color .3s ease;background:none;border:none;cursor:pointer;padding-left:10px;padding-right:10px}.footer-links a:hover,.footer-links a.active{color:var(--color-coding)!important}.footer-links .impressum:hover,.footer-links .impressum.active{color:var(--color-design)!important}.footer-links .privacy:hover,.footer-links .privacy.active{color:var(--color-about)!important}.contact-item{display:flex;align-items:center;font-size:1.1rem}.legal-window{background:transparent!important;border:none!important;display:block!important}.legal-text-body.lightbox-info{margin-top:0;max-width:800px;padding:20px;opacity:1!important;visibility:visible!important}.legal-text-body.lightbox-info h2,.legal-text-body.lightbox-info p{color:#fff!important;display:block!important;width:100%!important;animation:none!important;border-right:none!important;white-space:normal!important;overflow:visible!important;opacity:1!important}.legal-text-body.lightbox-info h2{font-size:2rem;margin-bottom:20px;text-transform:uppercase}.legal-text-body.lightbox-info p{color:#ccc;line-height:1.6;font-size:1.1rem;opacity:.9!important}@media (min-width: 900px){.project-details-drawer{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .5s ease-in-out,margin .5s ease;margin:0}.project-details-drawer.open{max-height:2000px;visibility:visible;margin-top:25px;margin-bottom:40px}.code-window{flex:1 1 420px;max-width:435px;min-width:300px;display:flex;flex-direction:column;transition:max-width .5s cubic-bezier(.4,0,.2,1),flex-basis .5s ease,opacity .5s ease}.code-window[style*="max-width: 900px"],.code-window[style*="max-width:900px"]{flex:1 1 100%!important;max-width:900px!important}.project-preview-video{flex:0 0 auto;width:100%;max-width:435px;object-fit:contain;height:auto;display:block;min-height:0;border-radius:6px;transition:opacity .5s ease}}@media (max-width: 600px){nav a{font-size:.9rem}.typewriter h1{font-size:1.6rem;letter-spacing:.05em}.project-title{font-size:1.3rem}#main-content{padding:30px 15px}.project-details-drawer.open{gap:15px}.project-details-drawer:not(.open){margin:0!important;grid-template-rows:0fr!important;max-height:0!important}.project-details-drawer:not(.open) .project-preview-video,.project-details-drawer:not(.open) .code-window{border-color:transparent!important;transition:border-color .2s ease}.code-window,.code-window pre[class*=language-],.code-window code[class*=language-],.code-window span,.code-window .token{font-size:.55rem!important}.lightbox-close{top:15px;right:20px;font-size:2.2rem}.lightbox-content img{max-width:95vw;max-height:55vh}.lightbox-info{margin-top:15px;padding:0 10px}.lightbox-info h2{font-size:1.1rem}.lightbox-info p{font-size:.8rem}.lightbox-arrow{font-size:3rem;padding:10px;top:85%}.left{left:0}.right{right:0}footer{flex-direction:column;padding:20px;gap:20px;text-align:center;font-size:.7rem}.footer-loc{order:1}.footer-links{order:2;justify-content:center}.footer-links a,.footer-links .footer-btn{font-size:.7rem!important}.footer-copyright{order:3}}.about-text{margin-top:40px;line-height:1.8;max-width:700px;color:var(--accent)}.about-text p{margin-bottom:20px}.token.punctuation,.token.operator,.token.plain-text{color:var(--accent)!important;opacity:1!important}.dark-mode .token.punctuation,.dark-mode .token.operator{color:#a9a9a9!important}pre[class*=language-]{background:var(--bg-color )!important;margin:0!important;padding:15px!important}code[class*=language-],pre[class*=language-]{font-size:.75rem!important;color:var(--text-color);text-shadow:none!important}
