@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--color-bg: #EFE7D9;--color-surface: #FBF6EC;--color-surface-2: #F4ECDD;--color-surface-3: #E7DCC9;--color-ink: #24291F;--color-ink-2: #54594A;--color-muted: #82806E;--color-border: #DED3BF;--color-border-strong: #C9BCA2;--color-accent: #B4553A;--color-accent-hover: #9C4630;--color-accent-ink: #8C3D28;--color-accent-soft: #EFDCD1;--color-accent-contrast: #FFFFFF;--color-emph: #2C4632;--color-emph-2: #3C6144;--color-emph-soft: #DEE6D6;--color-emph-ink: #1E3122;--color-ochre: #BE8A2C;--color-ochre-soft: #EFE2C4;--disc-bauherr: #8A7256;--disc-architektur: #33312E;--disc-tragwerk: #3D6CB0;--disc-hlsk: #2E8B84;--disc-elt: #C08A1E;--disc-bauphysik: #6C5BA5;--disc-brandschutz: #B23A3F;--disc-landschaft: #6E8B3D;--gate-decision: #B33A34;--gate-approval: #2E7D52;--gate-milestone: #3D6CB0;--status-open: #82806E;--status-approved: #2E7D52;--status-rejected: #B33A34;--status-reminded: #BE8A2C;--status-escalated: #B4553A;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 34px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(36, 41, 31, .06);--shadow-card: 0 2px 6px rgba(36, 41, 31, .05), 0 14px 34px rgba(36, 41, 31, .07);--shadow-panel: 0 10px 24px rgba(36, 41, 31, .1), 0 30px 60px rgba(36, 41, 31, .12);--font-display: "Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-sans: "IBM Plex Sans", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--color-ink)}.serif{font-family:var(--font-serif);font-weight:400;font-style:italic;letter-spacing:0}input,select,textarea{font-family:inherit;font-size:15px;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:11px 14px;width:100%;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-emph);box-shadow:0 0 0 3px var(--color-emph-soft)}input[disabled],input[readonly]{background:var(--color-surface-2);color:var(--color-muted);cursor:not-allowed}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:13.5px;font-weight:600;color:var(--color-ink)}.field .hint{font-size:12.5px;color:var(--color-muted)}.container{max-width:1180px;margin:0 auto;padding:0 32px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;border-radius:var(--radius-pill);padding:11px 20px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .25s cubic-bezier(.2,.7,.3,1),background .2s,color .2s,border-color .2s,box-shadow .25s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-card)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.btn-secondary:hover{border-color:var(--color-emph)}.btn-ghost{background:transparent;color:var(--color-accent-ink)}.btn-sm{font-size:13px;padding:7px 14px}.btn-lg{padding:15px 30px;font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:var(--radius-pill);padding:4px 11px;white-space:nowrap}.chip-emph{background:var(--color-emph-soft);color:var(--color-emph)}.chip-soft{background:var(--color-surface-2);color:var(--color-ink-2);border:1px solid var(--color-border)}.idx{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;background:var(--color-ink);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:500;font-size:15px}.mono{font-family:var(--font-mono)}.overline{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-emph)}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:20px;padding:12px 24px;background:color-mix(in srgb,var(--color-bg) 88%,#fff);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-emph);border-radius:10px}.brand-mark:after{content:"a";font-family:var(--font-serif);font-style:italic;font-size:20px;line-height:1;color:var(--color-surface-2);margin-top:1px}.brand-name{font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--color-emph)}.tabbar{display:flex;gap:4px;border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:0 32px}.tab{font-size:14px;font-weight:600;color:var(--color-ink-2);text-decoration:none;padding:13px 15px;border-bottom:2px solid transparent}.tab.active{color:var(--color-emph);border-bottom-color:var(--color-accent)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f2a2357;z-index:60;display:flex;justify-content:flex-end}.panel{width:520px;max-width:92vw;background:var(--color-surface);height:100%;overflow:auto;box-shadow:var(--shadow-panel);padding:26px 28px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:80;background:var(--color-ink);color:#fff;padding:12px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;box-shadow:var(--shadow-panel)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.modrow tr{cursor:pointer}.dot{width:8px;height:8px;border-radius:50%;flex:none}@media (max-width: 720px){.grid2,.grid3{grid-template-columns:1fr!important}}.pub{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.pub-bar{padding:18px 40px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.pub-bar .pub-kind{font-family:var(--font-mono);font-size:12px;color:var(--color-muted);letter-spacing:.06em}.pub-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:56px 24px}.pub-card{width:100%;max-width:640px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.pub-card .pc-head{background:var(--color-emph);color:var(--color-surface-2);padding:28px 32px}.pub-card .pc-head .kick{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ochre);margin-bottom:10px}.pub-card .pc-head h1{font-size:26px;letter-spacing:-.02em;color:var(--color-surface-2)}.pub-card .pc-body{padding:28px 32px}.pub-note{background:var(--color-surface-2);border-radius:var(--radius-md);padding:14px 16px;font-size:14px;color:var(--color-ink-2);line-height:1.5;margin-bottom:22px}.file-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--color-border)}.file-row:first-of-type{border-top:none}.file-ico{flex:none;width:40px;height:40px;border-radius:10px;background:var(--color-emph-soft);color:var(--color-emph);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:600}.file-meta{flex:1}.file-meta .fn{font-size:15px;font-weight:600;color:var(--color-ink)}.file-meta .fd{font-family:var(--font-mono);font-size:12px;color:var(--color-muted);margin-top:2px}.transparency{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:13px;color:var(--color-muted);background:var(--color-emph-soft);border-radius:var(--radius-md);padding:12px 14px}.transparency:before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--color-emph);color:var(--color-surface-2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.mini-foot{padding:26px 40px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-muted);flex-wrap:wrap;gap:10px}.mini-foot a{color:var(--color-ink-2)}.mini-foot a:hover{color:var(--color-emph)}.crumb{font-family:var(--font-mono);font-size:12.5px;color:var(--color-muted)}.crumb a:hover{color:var(--color-emph)}.doc{max-width:720px;margin:0 auto;padding:40px 0 70px}.doc h1{font-size:clamp(34px,4.4vw,52px);letter-spacing:-.03em;color:var(--color-emph);margin-bottom:10px}.doc .doc-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:34px}.doc h2{font-size:21px;margin:34px 0 10px;color:var(--color-ink)}.doc p{font-size:16px;color:var(--color-ink-2);line-height:1.7;margin-bottom:14px}.nf{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.nf .code{font-family:var(--font-display);font-weight:800;font-size:clamp(90px,18vw,200px);letter-spacing:-.05em;color:var(--color-emph);line-height:.9}.nf .code .serif{color:var(--color-accent)}.nf h1{font-size:26px;margin:18px 0 10px}.nf p{font-size:16px;color:var(--color-ink-2);margin-bottom:26px;max-width:42ch}@media (max-width: 860px){.form-row{grid-template-columns:1fr}.pub-bar{padding:14px 20px}.pub-main{padding:28px 14px}.pub-card .pc-head,.pub-card .pc-body{padding:22px 20px}}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-brand{background:var(--color-emph);color:var(--color-surface-2);padding:56px 60px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(244,236,221,.09) 1px,transparent 0);background-size:24px 24px}.auth-brand>*{position:relative}.auth-brand .brand-name{color:var(--color-surface-2)}.auth-brand .ab-head{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,3.4vw,52px);letter-spacing:-.03em;line-height:1.05;margin-top:auto;color:var(--color-surface-2)}.auth-brand .ab-head .serif{color:var(--color-ochre)}.auth-brand .ab-badges{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px}.auth-brand .ab-badges span{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:#f4ecddbf;display:inline-flex;align-items:center;gap:7px}.auth-brand .ab-badges span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-ochre)}.auth-brand .ab-tagline{font-family:var(--font-mono);font-size:12px;color:#f4ecdd8c;letter-spacing:.08em}.auth-form{display:flex;align-items:center;justify-content:center;padding:56px 40px;background:var(--color-bg)}.auth-form .inner{width:100%;max-width:400px}.auth-form h1{font-size:34px;letter-spacing:-.03em;margin-bottom:8px}.auth-form .sub{font-size:15px;color:var(--color-ink-2);margin-bottom:28px}.auth-form .alt{font-size:14px;color:var(--color-ink-2);margin-top:22px;text-align:center}.auth-form .alt a{color:var(--color-emph);font-weight:600}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-brand{padding:28px 24px;gap:18px}.auth-brand .ab-head{font-size:28px;margin-top:6px}.auth-brand .ab-tagline{display:none}.auth-form{padding:36px 20px}}
