:root{--background: #ffffff;--foreground: #000000;--muted: #f5f5f5;--muted-foreground: #525252;--border-light: #e5e5e5;--hairline: 1px solid var(--border-light);--thin: 1px solid var(--foreground);--medium: 2px solid var(--foreground);--thick: 4px solid var(--foreground);--font-display: "Playfair Display", Georgia, serif;--font-body: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;color-scheme:only light}*{box-sizing:border-box;border-radius:0}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:16px;line-height:1.625;font-synthesis-weight:none;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.015) 1px,rgba(0,0,0,.015) 2px);background-size:100% 4px;background-attachment:fixed}::selection{background:var(--foreground);color:var(--background)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important}}.label{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.rule{border:0;border-top:var(--thick);margin:0}.rule--hair{border-top:var(--hairline)}:where(a,button,select,textarea,input,[tabindex]):focus-visible{outline:3px solid var(--foreground);outline-offset:3px}.skip{position:absolute;left:var(--space-4);top:-100px;z-index:50;background:var(--foreground);color:var(--background);padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none}.skip:focus{top:var(--space-4)}.btn{font-family:var(--font-mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;padding:var(--space-3) var(--space-5);min-height:44px;border:2px solid var(--foreground);background:var(--foreground);color:var(--background);cursor:pointer;transition:none}.btn:hover{background:var(--background);color:var(--foreground)}.btn[disabled]{cursor:wait;opacity:.4}.btn--ghost{background:transparent;color:var(--foreground);border-color:transparent}.btn--ghost:hover{background:transparent;text-decoration:underline;text-underline-offset:4px}.field{width:100%;font-family:var(--font-body);font-size:16px;color:var(--foreground);background:transparent;border:0;border-bottom:2px solid var(--foreground);padding:var(--space-3) 0;min-height:44px}.field::placeholder{color:var(--muted-foreground);font-style:italic}.field:focus{border-bottom-width:4px;outline:none;padding-bottom:calc(var(--space-3) - 2px)}.field--select{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;appearance:none;border:var(--medium);padding:var(--space-3)}textarea.field{border:var(--medium);padding:var(--space-3);resize:vertical;min-height:88px;line-height:1.5}textarea.field:focus{border-width:2px;border-bottom-width:4px}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app>main{flex:1;display:flex;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:var(--thin)}.topbar__mark{font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.22em}.topbar__who{font-family:var(--font-mono);font-size:11px;color:var(--muted-foreground);letter-spacing:.06em}.topbar__right{display:flex;align-items:center;gap:var(--space-4)}.masthead{padding:var(--space-7) var(--space-5) var(--space-6)}.masthead__title{font-family:var(--font-display);font-weight:900;font-size:clamp(3.5rem,17vw,10rem);line-height:.82;letter-spacing:-.05em;margin:0;text-transform:uppercase}.masthead__title em{font-style:italic;font-weight:400;display:block}.masthead__punct{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.masthead__punct hr{flex:1;border:0;border-top:var(--thick)}.masthead__punct span{width:14px;height:14px;border:var(--medium);flex:none}.stats{position:relative;background:var(--foreground);color:var(--background);display:grid;grid-template-columns:repeat(3,1fr);border-top:var(--thick);border-bottom:var(--thick)}.stats:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent,transparent 1px,#fff 1px,#fff 2px);background-size:4px 100%;opacity:.03}.stat{padding:var(--space-5)}.stat+.stat{border-left:1px solid rgba(255,255,255,.25)}.stat__n{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4.5rem);line-height:1;font-weight:700;letter-spacing:-.04em;display:block}.stat__k{display:block;margin-top:var(--space-2);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;opacity:.7}.board{flex:1;display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:thin}.col{flex:0 0 300px;display:flex;flex-direction:column;min-width:0;padding:var(--space-5) var(--space-4) var(--space-6);border-right:var(--hairline);transition:background-color .1s}.col:last-child{border-right:0}.col--over{background:var(--muted)}.col--over .col__head{border-bottom-width:4px}.col__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:var(--thin);margin-bottom:var(--space-4)}.col__n{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em}.col__list{display:flex;flex-direction:column;gap:var(--space-3);min-height:80px}.col__empty{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);padding:var(--space-4) 0}.card{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--background);border:var(--thin);padding:var(--space-4);cursor:grab;transition:background-color .1s,color .1s,border-color .1s}.card--p1{border-left-width:6px}.card:hover,.card--open{background:var(--foreground);color:var(--background)}.card:hover .tag,.card--open .tag{border-color:var(--background)}.card:hover .card__role,.card--open .card__role{color:var(--background)}.card--dragging{opacity:.35}.card__top{display:flex;width:100%;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.card__idx{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em}.card__top hr{flex:1;border:0;border-top:1px solid currentColor;opacity:.4}.card__co{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1.15;letter-spacing:-.02em}.card__role{display:block;font-size:.875rem;font-style:italic;line-height:1.4;color:var(--muted-foreground);margin-top:2px}.card__tags{display:flex;width:100%;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-3)}.tag{font-family:var(--font-mono);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;padding:2px var(--space-2);border:1px solid currentColor;white-space:nowrap}.tag--invert{background:currentColor}.tag--invert span{color:var(--background);mix-blend-mode:normal}.card:hover .tag--invert span,.card--open .tag--invert span{color:var(--foreground)}.tag--struck{text-decoration:line-through;opacity:.55}.panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100%);max-width:none;max-height:none;height:100%;border:0;background:var(--background);border-left:var(--thick);padding:var(--space-6) var(--space-5) var(--space-8);overflow-y:auto;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:40px 40px}.panel::backdrop{background:#00000040}.panel__close{position:absolute;top:var(--space-4);right:var(--space-4);min-height:44px;min-width:44px}.panel__co{font-family:var(--font-display);font-size:clamp(2rem,7vw,3.5rem);font-weight:900;line-height:.95;letter-spacing:-.04em;margin:0 var(--space-7) 0 0;text-transform:uppercase}.panel__role{font-size:1.125rem;font-style:italic;margin:var(--space-3) 0 var(--space-5)}.spec{margin:0 0 var(--space-6);font-size:.875rem}.spec div{display:grid;grid-template-columns:116px 1fr;gap:var(--space-4);padding:var(--space-3) 0;border-top:var(--hairline)}.spec div:last-child{border-bottom:var(--hairline)}.spec dt{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground);padding-top:3px}.spec dd{margin:0;overflow-wrap:anywhere}.spec a{color:inherit;text-underline-offset:3px}.section__label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground);margin-bottom:var(--space-3)}.timeline{border-left:var(--medium);padding-left:var(--space-4);margin:0 0 var(--space-6);list-style:none}.timeline li{font-size:.875rem;padding-bottom:var(--space-4)}.timeline b{display:block;font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.editor{display:flex;flex-direction:column;gap:var(--space-3)}.editor__hint{font-size:.8125rem;font-style:italic;color:var(--muted-foreground);margin:0}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--space-5)}.login__inner{width:min(420px,100%)}.login__title{font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,14vw,6rem);line-height:.85;letter-spacing:-.05em;margin:0;text-transform:uppercase}.login__title em{display:block;font-style:italic;font-weight:400}.login__form{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-7)}.login__row{display:flex;flex-direction:column;gap:var(--space-2)}.login__row .label{color:var(--muted-foreground)}.login__error{border:var(--medium);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;background:var(--foreground);color:var(--background)}.notice{padding:var(--space-6) var(--space-5);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground)}@media(max-width:768px){.topbar__who{display:none}.topbar .btn{white-space:nowrap}.masthead{padding:var(--space-6) var(--space-4) var(--space-5)}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid rgba(255,255,255,.25)}.board{flex-direction:column;overflow-x:visible}.col{flex:none;width:100%;border-right:0;border-bottom:var(--thin)}.col:last-child{border-bottom:0}.panel{border-left:0;border-top:var(--thick);inset:auto 0 0;width:100%;height:92dvh}}
