html,body,#root{width:100%;min-height:100%}body{margin:0}@font-face{font-family:Fraunces;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2")}:root{--bg: #f6f1e8;--ink: #18130f;--muted: #6c5f55;--accent: #d86a1b;--accent-soft: #f5d5b9;--card: rgba(255, 255, 255, .78);--border: rgba(36, 28, 22, .14);--surface: rgba(255, 255, 255, .6);--field: #ffffff;--bg-radial-1: #fff2e3;--bg-radial-2: #eef4e6;--bg-line: rgba(24, 19, 15, .04);--error: #dc3545;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(26, 20, 16, .06);--shadow-md: 0 4px 12px rgba(26, 20, 16, .1);--shadow-lg: 0 18px 45px rgba(26, 20, 16, .15);--ring: 0 0 0 2px var(--accent-soft);--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .15);--color-danger: #ef4444;--color-danger-soft: rgba(239, 68, 68, .15);--color-warning: #ca8a04;--color-warning-soft: rgba(234, 179, 8, .12);--board-light: #e8dfd4;--board-dark: #b8a898;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--gutter: clamp(20px, 4vw, 72px);--page-max: 1100px;--board-gutter: clamp(20px, 8vw, 150px);--board-max: 1400px;--note-w-wide: 240px;--note-w-narrow: 190px;--step--1: clamp(.82rem, .8rem + .1vw, .9rem);--step-0: clamp(1rem, .97rem + .15vw, 1.13rem);--step-1: clamp(1.25rem, 1.18rem + .35vw, 1.55rem);--step-2: clamp(1.6rem, 1.45rem + .75vw, 2.25rem);--step-3: clamp(2.2rem, 1.85rem + 1.75vw, 3.6rem);--ease-fast: .15s ease;--ease-medium: .2s ease;--ease-slow: .3s ease;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}[data-theme=dark]{--bg: #0f1110;--ink: #f0f5f1;--muted: #a5b1aa;--accent: #39d98a;--accent-soft: rgba(57, 217, 138, .18);--card: rgba(22, 28, 25, .88);--border: rgba(255, 255, 255, .12);--surface: rgba(20, 24, 22, .75);--field: #121614;--bg-radial-1: rgba(27, 46, 36, .9);--bg-radial-2: rgba(16, 32, 25, .8);--bg-line: rgba(255, 255, 255, .05);--error: #ff6b6b;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 50px rgba(0, 0, 0, .45);--color-success: #4ade80;--color-success-soft: rgba(74, 222, 128, .15);--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .15);--color-warning: #facc15;--color-warning-soft: rgba(250, 204, 21, .12);--board-light: #2a2e2c;--board-dark: #1a1e1c}body{margin:0;min-height:100dvh;background:var(--bg)}#root{display:flex;flex-direction:column;min-height:100dvh}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 600px at 15% 0%,var(--bg-radial-1) 0%,transparent 60%),radial-gradient(700px 480px at 85% 10%,var(--bg-radial-2) 0%,transparent 55%),repeating-linear-gradient(135deg,var(--bg-line) 0,var(--bg-line) 1px,transparent 1px,transparent 14px)}*{box-sizing:border-box}a{color:inherit}h1,h2{font-family:Fraunces,Times New Roman,serif}h1{font-size:var(--step-3);margin:0 0 14px}p{margin:0}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px var(--gutter) 0}.brand{text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:flex;gap:16px;font-size:.95rem;align-items:center}.nav a{text-decoration:none;color:var(--muted);transition:color .15s ease}.nav a:hover{color:var(--ink)}.nav a.nav-active{color:var(--accent);position:relative}.nav a.nav-active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent);border-radius:1px}.nav a:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.eyebrow{text-transform:uppercase;letter-spacing:.4em;font-size:.75rem;color:var(--muted);margin:0 0 12px}.lead{font-size:var(--step-0);line-height:1.6;color:var(--muted);max-width:58ch}.home{padding-block:32px clamp(24px,6vh,72px);overflow-x:clip}.pinboard{width:min(100% - 2 * var(--board-gutter),var(--board-max));margin-inline:auto}.pinboard-header{text-align:center;margin-bottom:clamp(20px,3vh,44px);animation:rise .6s ease forwards;opacity:0;transform:translateY(12px)}.pinboard-title{font-family:Fraunces,Times New Roman,serif;font-size:clamp(2.8rem,2.2rem + 3vw,5.6rem);font-weight:700;letter-spacing:-.04em;line-height:1;margin:0 0 8px;color:var(--ink)}.pinboard-sub{font-size:1.1rem;color:var(--muted);font-style:italic;margin:0;letter-spacing:.01em}.pinboard-surface,.login-board{--board-bg: #d4b896;--board-bg-2: #c9a87e;--board-edge: #b89870;--board-shadow: rgba(80, 50, 20, .18);background:radial-gradient(circle at 15% 25%,rgba(180,140,90,.15) 1px,transparent 1px),radial-gradient(circle at 72% 60%,rgba(160,120,70,.12) 1px,transparent 1px),radial-gradient(circle at 45% 80%,rgba(190,150,100,.1) 1px,transparent 1px),linear-gradient(160deg,var(--board-bg) 0%,var(--board-bg-2) 40%,var(--board-bg) 100%);background-size:3px 3px,5px 5px,4px 4px,auto;border-radius:6px;padding:48px 40px;box-shadow:inset 0 1px #ffffff1f,0 2px 0 var(--board-edge),0 4px color-mix(in srgb,var(--board-edge) 80%,black),0 8px 24px var(--board-shadow),0 16px 48px #00000014;position:relative}.pinboard-surface:before,.login-board:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px 150px;mix-blend-mode:multiply}[data-theme=dark] .pinboard-surface,[data-theme=dark] .login-board{--board-bg: #1a1f1c;--board-bg-2: #141a16;--board-edge: #0e1210;--board-shadow: rgba(0, 0, 0, .4);background:radial-gradient(circle at 15% 25%,rgba(40,60,45,.2) 1px,transparent 1px),radial-gradient(circle at 72% 60%,rgba(30,50,35,.15) 1px,transparent 1px),radial-gradient(circle at 45% 80%,rgba(35,55,40,.12) 1px,transparent 1px),linear-gradient(160deg,var(--board-bg) 0%,var(--board-bg-2) 40%,var(--board-bg) 100%);background-size:3px 3px,5px 5px,4px 4px,auto}[data-theme=dark] .pinboard-surface:before,[data-theme=dark] .login-board:before{opacity:.08;mix-blend-mode:screen}.pinboard-surface{min-height:clamp(520px,62vh,820px);position:relative;overflow:visible;isolation:isolate}.note{position:absolute;overflow:visible;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;animation:note-drop .5s cubic-bezier(.22,.61,.36,1) forwards;opacity:0;animation-delay:var(--delay, 0ms);transition:box-shadow .28s ease,filter .28s ease}a.note{cursor:grab}.note:hover{filter:brightness(1.02)}.note:hover .attachment-pin{transform:scale(1.08)}.note--dragging{cursor:grabbing;filter:brightness(1.04)}.note--dragging .attachment-pin{transform:scale(1.12)}.note--wide{width:var(--note-w-wide)}.note--narrow{width:var(--note-w-narrow)}@keyframes note-drop{to{opacity:1}}.note-body{position:relative;z-index:1}.note-title{margin:0 0 6px;font-size:1.25rem;font-family:Fraunces,Times New Roman,serif;font-weight:600;line-height:1.2}.note-desc{margin:0;color:var(--muted);line-height:1.55;font-size:.9rem}.note-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.82rem;font-weight:600;color:var(--accent);white-space:nowrap}.note-cta .cta-arrow{display:inline-block;transition:translate .15s ease}.note:hover .cta-arrow{translate:4px 0}.note--pin{--paper: #fefcf6;--paper-border: rgba(0, 0, 0, .06);background:var(--paper);border:1px solid var(--paper-border);border-radius:2px;padding:32px 24px 22px;box-shadow:1px 2px 3px #0000000f,2px 4px 12px #00000014}.note--pin:hover{box-shadow:2px 4px 6px #00000014,4px 8px 24px #0000001f}.note--pin.note--dragging{box-shadow:3px 6px 10px #0000001f,6px 14px 40px #0000002e}.note--pin:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 27px,rgba(140,160,180,.12) 27px,rgba(140,160,180,.12) 28px);background-position:0 20px}.note--pin[data-color=butter]{--paper: #fbf1c4;--paper-border: rgba(120, 100, 20, .1)}.note--pin[data-color=mint]{--paper: #e2f2e7;--paper-border: rgba(30, 100, 60, .1)}.note--pin[data-color=blush]{--paper: #fbe5e9;--paper-border: rgba(140, 40, 60, .1)}.note--pin[data-color=sky]{--paper: #e3edfb;--paper-border: rgba(30, 70, 140, .1)}[data-theme=dark] .note--pin{--paper: #1e2420;--paper-border: rgba(255, 255, 255, .06)}[data-theme=dark] .note--pin[data-color=butter]{--paper: #2b2718}[data-theme=dark] .note--pin[data-color=mint]{--paper: #16261d}[data-theme=dark] .note--pin[data-color=blush]{--paper: #2b1c21}[data-theme=dark] .note--pin[data-color=sky]{--paper: #172431}[data-theme=dark] .note--pin:before{background:repeating-linear-gradient(to bottom,transparent 0px,transparent 27px,rgba(100,140,120,.08) 27px,rgba(100,140,120,.08) 28px);background-position:0 20px}.attachment-pin{position:absolute;top:-10px;left:50%;translate:-50% 0;z-index:3;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));transition:transform .2s ease}.string-canvas{position:absolute;inset:0;pointer-events:none;z-index:0}.pinboard-toolbar{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:6px}.pinboard-btn{padding:5px 12px;font-size:.78rem;font-weight:600;letter-spacing:.03em;border-radius:var(--radius-full);background:#ffffff80;border:1px solid rgba(0,0,0,.12);color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:color var(--ease-fast),border-color var(--ease-fast),background var(--ease-fast)}.pinboard-btn:hover{color:var(--ink);border-color:#00000040;background:#ffffffb3}.pinboard-btn--active{background:#b43c281f;border-color:#b43c2866;color:#b43c28e6}.pinboard-btn--active:hover{background:#b43c2833;border-color:#b43c2899;color:#a02814}.pinboard-btn--pin{background:var(--accent);color:#fff;border-color:var(--accent)}.pinboard-btn--pin:hover{opacity:.9;color:#fff}.pinboard-btn--pin:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .pinboard-btn{background:#1e282399;border-color:#ffffff1a}[data-theme=dark] .pinboard-btn:hover{background:#28372dcc;border-color:#fff3;color:var(--ink)}[data-theme=dark] .pinboard-btn--active{background:#dc786426;border-color:#dc786466;color:#dc8c78e6}.add-card-form{position:absolute;top:44px;right:10px;z-index:11;width:252px;padding:12px;background:var(--paper, #fefcf6);border:1px solid rgba(0,0,0,.08);border-radius:3px;box-shadow:2px 4px 12px #0000001f,0 1px 2px #0000000f;display:flex;flex-direction:column;gap:8px;transform:rotate(1.2deg)}[data-theme=dark] .add-card-form{--paper: #1e2420;border-color:#ffffff0f}.add-card-input,.add-card-textarea{width:100%;margin:0;padding:6px 8px;font-size:.85rem;font-family:inherit;border:1px solid rgba(0,0,0,.1);border-radius:2px;background:#ffffff80;color:var(--ink);resize:none}[data-theme=dark] .add-card-input,[data-theme=dark] .add-card-textarea{background:#0003;border-color:#ffffff14}.add-card-input:focus,.add-card-textarea:focus{outline:none;border-color:var(--accent)}.add-card-actions{display:flex;gap:6px}.add-card-actions .pinboard-btn{flex:1;text-align:center;font-size:.78rem}.connect-hint{position:absolute;bottom:10px;left:50%;translate:-50% 0;z-index:10;padding:5px 14px;font-size:.75rem;color:#b43c28d9;background:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);border:1px solid rgba(180,60,40,.2);white-space:nowrap;pointer-events:none}[data-theme=dark] .connect-hint{color:#dc8c78e6;background:#141c18cc;border-color:#dc8c7833}.note-delete{position:absolute;top:-6px;right:-6px;z-index:4;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.note:hover .note-delete{opacity:1}.note-delete:hover{background:var(--color-danger)}.pinboard-surface--connect-mode{cursor:crosshair}.pinboard-surface--connect-mode .note,.pinboard-surface--connect-mode a.note{cursor:pointer}.pinboard-surface--connect-mode .attachment-pin{filter:drop-shadow(0 0 4px rgba(200,50,40,.4)) drop-shadow(0 2px 3px rgba(0,0,0,.25))}[data-theme=dark] .pinboard-surface--connect-mode .attachment-pin{filter:drop-shadow(0 0 5px rgba(220,100,80,.5)) drop-shadow(0 2px 3px rgba(0,0,0,.25))}.note--connect-from .attachment-pin{filter:drop-shadow(0 0 8px rgba(220,50,30,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.25));transform:scale(1.15)}[data-theme=dark] .note--connect-from .attachment-pin{filter:drop-shadow(0 0 10px rgba(240,120,90,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.25))}.pinboard-surface--cut-mode{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ctext x='0' y='18' font-size='18'%3E%E2%9C%82%EF%B8%8F%3C/text%3E%3C/svg%3E") 12 12,crosshair}.pinboard-surface--cut-mode .note{cursor:default;pointer-events:none}.pinboard-surface--cut-mode .string-canvas{z-index:5}.connect-hint--cut{color:var(--muted);border-color:var(--border)}[data-theme=dark] .connect-hint--cut{color:var(--muted);border-color:#ffffff14}@keyframes rise{to{transform:translateY(0);opacity:1}}.scroll-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.page{width:min(100% - 2 * var(--gutter),var(--page-max));margin-inline:auto;padding-block:32px 120px}.nav-terminal{font-family:SF Mono,Fira Code,Consolas,monospace;font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);text-decoration:none;color:var(--muted)!important;transition:color .15s ease,border-color .15s ease}.nav-terminal:hover{color:var(--accent)!important;border-color:var(--accent)}.nav-offsite .offsite-arrow{display:inline-block;margin-inline-start:3px;font-size:.72em;vertical-align:.18em;opacity:.55;transition:translate var(--ease-fast),opacity var(--ease-fast)}.nav-offsite:hover .offsite-arrow{translate:1px -1px;opacity:1}ul{padding-left:18px;margin:0}input,textarea{width:100%;margin-top:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--field);color:var(--ink);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:color-mix(in srgb,var(--accent-soft) 15%,var(--field))}select{width:100%;margin-top:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--field);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:color-mix(in srgb,var(--accent-soft) 15%,var(--field))}label{display:block;margin-bottom:12px;color:var(--muted)}button{background:var(--accent);color:var(--bg);border:none;padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:opacity .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease}button:hover{opacity:.9}button:focus-visible{outline:none;box-shadow:var(--ring)}button:active:not(:disabled){scale:.97;opacity:.85}button:disabled{opacity:.5;cursor:not-allowed}button+button{background:transparent;border:1px solid var(--border);color:var(--muted)}button+button:hover{opacity:1;color:var(--ink);border-color:var(--accent)}.theme-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);padding:6px;border-radius:999px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;transition:color var(--ease-fast),border-color var(--ease-fast),transform var(--ease-medium)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);transform:rotate(15deg)}@media(max-width:767px){.home{padding-block-end:80px}.pinboard-surface{padding:28px 20px;min-height:auto;display:flex;flex-direction:column;gap:28px;overflow:visible}.note{position:static!important;width:100%!important;transform:none!important;cursor:default;animation:rise .5s ease forwards;opacity:0}a.note{cursor:pointer}.string-canvas,.pinboard-toolbar,.add-card-form,.connect-hint,.note-delete{display:none}}@media(max-width:600px){.nav{flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--muted)}.loader-spinner{width:40px;height:40px;border-radius:50%;background:conic-gradient(from 0deg,transparent 60%,var(--accent));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.error-boundary-content{text-align:center;max-width:480px;padding:32px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.error-boundary-content h1{margin:0 0 16px;font-size:1.8rem;color:var(--error)}.error-boundary-message{color:var(--muted);line-height:1.6;margin-bottom:20px}.error-boundary-details{text-align:left;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;color:var(--error);overflow-x:auto;margin-bottom:20px}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.site-footer{margin-top:auto;padding-block:40px 32px;border-top:1px solid var(--border);position:relative;z-index:1;background:var(--bg)}.footer-inner{width:min(100% - 2 * var(--gutter),var(--page-max));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-links{display:flex;gap:20px;font-size:.85rem}.footer-links a{text-decoration:none;color:var(--muted);transition:color var(--ease-fast)}.footer-links a:hover{color:var(--accent)}.footer-links a:focus-visible{outline:none;box-shadow:var(--ring);border-radius:2px}.footer-copy{font-size:.78rem;color:var(--muted);letter-spacing:.04em}.login{display:grid;place-items:center;min-height:100dvh;padding:var(--gutter)}.login-board{width:min(100%,520px);padding:clamp(32px,6vw,72px) clamp(20px,5vw,56px);display:grid;place-items:center;animation:rise .6s ease forwards;opacity:0;transform:translateY(12px)}.login-card{--paper: #fefcf6;--paper-border: rgba(0, 0, 0, .06);position:relative;width:min(100%,340px);padding:40px 28px 28px;background:var(--paper);border:1px solid var(--paper-border);border-radius:2px;rotate:-1.1deg;box-shadow:1px 2px 3px #00000014,3px 8px 24px #00000024}[data-theme=dark] .login-card{--paper: #1e2420;--paper-border: rgba(255, 255, 255, .06)}.login-eyebrow{margin:0;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.login-title{margin:2px 0;font-family:Fraunces,Times New Roman,serif;font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.login-sub{margin:0 0 26px;font-size:.88rem;font-style:italic;color:var(--muted)}.login-field{display:block;margin-bottom:18px}.login-field span{display:block;margin-bottom:5px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.login-field input{width:100%;padding:6px 2px;font:inherit;font-size:.95rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;transition:border-color var(--ease-medium)}.login-field input:focus{outline:none;border-bottom-color:var(--accent)}.login-field input:disabled{opacity:.6}.login-error{margin:0 0 16px;padding:8px 10px;font-size:.82rem;color:var(--error);background:var(--color-danger-soft);border-left:2px solid var(--error)}.login-submit{width:100%;margin-top:6px;padding:11px 16px;font:inherit;font-size:.88rem;font-weight:700;letter-spacing:.04em;color:#fff;background:var(--accent);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:filter var(--ease-medium),translate var(--ease-fast)}[data-theme=dark] .login-submit{color:#06130d}.login-submit:hover:not(:disabled){filter:brightness(1.07);translate:0 -1px}.login-submit:disabled{opacity:.6;cursor:progress}.login-card--code{rotate:.9deg;animation:login-repin .42s cubic-bezier(.2,.9,.3,1.2) both}@keyframes login-repin{0%{opacity:0;translate:0 -18px;rotate:-3deg}to{opacity:1;translate:0 0;rotate:.9deg}}.login-field input.login-code{padding:4px 0 8px;font-family:Fraunces,Times New Roman,serif;font-size:1.9rem;font-weight:600;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.42em;text-align:center;text-indent:.42em}.login-field input.login-code::placeholder{color:var(--border)}.login-field input.login-code--recovery{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:1.05rem;letter-spacing:.08em;text-indent:0}.login-alt{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.login-link{padding:0;font:inherit;font-size:.78rem;color:var(--muted);background:none;border:0;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;cursor:pointer}.login-link:hover:not(:disabled){color:var(--accent);text-decoration-color:currentColor}.desk{width:min(100% - 2 * var(--gutter),var(--page-max));margin-inline:auto;padding-block:48px 120px}.desk-header{margin-bottom:40px;animation:rise .6s ease forwards;opacity:0;transform:translateY(12px)}.desk-eyebrow{margin:0;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.desk-title{margin:4px 0 8px;font-family:Fraunces,Times New Roman,serif;font-size:var(--step-3);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink)}.desk-sub{display:flex;align-items:center;gap:10px;margin:0;font-size:var(--step-0);color:var(--muted)}.desk-badge{padding:2px 9px;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full)}.desk-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.desk-panel{position:relative;padding:38px 26px 26px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:rise .52s ease forwards;opacity:0;transform:translateY(12px)}.desk-panel:nth-child(2){animation-delay:80ms}.desk-panel:nth-child(3){animation-delay:.16s}.desk-panel>.attachment-pin{top:-10px;left:50%}.desk-panel h2{margin:0 0 14px;font-family:Fraunces,Times New Roman,serif;font-size:var(--step-1);font-weight:600}.desk-panel h3{margin:0 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.desk-muted{margin:0 0 18px;font-size:.9rem;line-height:1.6;color:var(--muted)}.shortcuts{position:absolute;top:56px;right:10px;z-index:11;width:250px;padding:30px 22px 18px;background:var(--paper, #fefcf6);border:1px solid rgba(0,0,0,.06);border-radius:2px;rotate:.8deg;box-shadow:1px 2px 3px #00000014,3px 8px 24px #00000024}[data-theme=dark] .shortcuts{background:#1e2420;border-color:#ffffff0f}.shortcuts-title{margin:0 0 12px;font-family:Fraunces,Times New Roman,serif;font-size:1.05rem;font-weight:600;color:var(--ink)}.shortcuts-list{display:grid;gap:7px;margin:0 0 14px}.shortcuts-list div{display:flex;align-items:baseline;gap:10px}.shortcuts-list dt{flex:0 0 62px}.shortcuts-list kbd{display:inline-block;min-width:100%;padding:2px 5px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.7rem;text-align:center;color:var(--ink);background:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:3px}[data-theme=dark] .shortcuts-list kbd{background:#ffffff0f;border-color:#ffffff24}.shortcuts-list dd{margin:0;font-size:.82rem;color:var(--muted)}.pinboard-btn:disabled{opacity:.35;cursor:not-allowed}.add-card-colors{display:flex;gap:6px;margin:10px 0 12px}.add-card-swatch{width:20px;height:20px;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:3px;cursor:pointer;background:var(--swatch, #fefcf6);transition:transform var(--ease-fast),box-shadow var(--ease-fast)}.add-card-swatch[data-color=cream]{--swatch: #fefcf6}.add-card-swatch[data-color=butter]{--swatch: #fbf1c4}.add-card-swatch[data-color=mint]{--swatch: #e2f2e7}.add-card-swatch[data-color=blush]{--swatch: #fbe5e9}.add-card-swatch[data-color=sky]{--swatch: #e3edfb}.add-card-swatch:hover{transform:translateY(-1px)}.add-card-swatch--on{box-shadow:0 0 0 2px var(--accent)}.desk-sync{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.84rem;color:var(--muted)}.desk-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.desk-stats{display:flex;gap:28px;margin:0 0 20px}.desk-stats div{display:grid;gap:2px}.desk-stats dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.desk-stats dd{margin:0;font-family:Fraunces,Times New Roman,serif;font-size:1.7rem;font-weight:700;line-height:1}.desk-form{padding-top:20px;margin-top:4px;border-top:1px solid var(--border)}.desk-field{display:block;margin-bottom:14px}.desk-field span{display:block;margin-bottom:5px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.desk-field input{width:100%;padding:9px 11px;font:inherit;font-size:.92rem;color:var(--ink);background:var(--field);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--ease-medium),box-shadow var(--ease-medium)}.desk-field input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.desk-actions{display:flex;flex-wrap:wrap;gap:10px}.desk-actions--end{padding-top:18px;margin-top:18px;border-top:1px solid var(--border)}.desk-btn{padding:9px 15px;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:border-color var(--ease-medium),translate var(--ease-fast)}.desk-btn:hover:not(:disabled){border-color:var(--accent);translate:0 -1px}.desk-btn:disabled{opacity:.55;cursor:not-allowed}.desk-btn--primary{color:#fff;background:var(--accent);border-color:var(--accent)}[data-theme=dark] .desk-btn--primary{color:#06130d}.desk-btn--danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.desk-error{margin:0 0 14px;padding:8px 10px;font-size:.82rem;color:var(--error);background:var(--color-danger-soft);border-left:2px solid var(--error)}.desk-ok{margin:0 0 14px;padding:8px 10px;font-size:.82rem;color:var(--color-success);background:var(--color-success-soft);border-left:2px solid var(--color-success)}.tfa-scan{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:18px}.tfa-qr{position:relative;flex:none;margin:8px 0 0;padding:10px;background:#fff;border:1px solid rgba(0,0,0,.08);rotate:-1.5deg;box-shadow:1px 2px 3px #00000014,2px 6px 16px #0000001f}.tfa-qr:before{content:"";position:absolute;top:-11px;left:50%;width:72px;height:20px;translate:-50% 0;rotate:3deg;background:color-mix(in srgb,var(--accent-soft) 70%,transparent);border-inline:1px dashed rgba(0,0,0,.08)}.tfa-qr img{display:block;width:176px;height:176px;max-width:100%}.tfa-scan-side{flex:1 1 160px;min-width:0}.tfa-scan-side .desk-muted{margin-bottom:10px}.tfa-secret{display:block;padding:8px 10px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;letter-spacing:.06em;word-break:break-word;color:var(--ink);background:var(--field);border:1px dashed var(--border);border-radius:var(--radius-sm);-webkit-user-select:all;user-select:all}.desk-field input.tfa-code{font-variant-numeric:tabular-nums;font-size:1.2rem;letter-spacing:.3em}.tfa-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 18px;padding:6px 14px;list-style:none;counter-reset:tfa;background:var(--field);border:1px solid var(--border);border-radius:var(--radius-sm)}.tfa-codes li{counter-increment:tfa;display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px dashed var(--border)}.tfa-codes li:nth-last-child(-n+2){border-bottom:0}.tfa-codes li:before{content:counter(tfa,decimal-leading-zero);font-size:.66rem;color:var(--muted);font-variant-numeric:tabular-nums}.tfa-codes code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.86rem;letter-spacing:.04em;color:var(--ink)}@media(max-width:380px){.tfa-codes{grid-template-columns:1fr}.tfa-codes li:nth-last-child(2){border-bottom:1px dashed var(--border)}}.nav-user{display:grid;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;text-decoration:none;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);transition:filter var(--ease-medium)}.nav-user:hover{filter:brightness(1.08)}@media(min-width:768px){.home,.pinboard{flex:1;display:flex;flex-direction:column;min-height:0}.pinboard-surface{flex:1;min-height:360px}.desk{flex:1;display:flex;flex-direction:column;min-height:0}.desk-grid{min-height:0;overflow-y:auto;padding-top:14px;margin-top:-14px}}.notfound{text-align:center;padding-block:clamp(48px,10vh,120px) clamp(48px,10vh,120px)}.notfound .lead{margin-inline:auto}.notfound-actions{margin-top:28px}.note-host{display:block;margin-bottom:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.68rem;letter-spacing:.02em;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note--photo{padding:14px 14px 10px;background:#fbfbf8;cursor:grab}[data-theme=dark] .note--photo{background:#23272a}.note--photo:before{display:none}.note-photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#0000000f;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.note--photo .note-title{margin:12px 0 2px;font-size:.95rem;text-align:center}.attachment-tape{position:absolute;top:-9px;left:50%;translate:-50% 0;rotate:-1.5deg;width:76px;height:22px;z-index:3;background:#e2d8b2d1;border-left:1px dashed rgba(0,0,0,.08);border-right:1px dashed rgba(0,0,0,.08);box-shadow:0 1px 2px #0000001f}[data-theme=dark] .attachment-tape{background:#78826e80}.checklist{margin-top:8px;cursor:auto}.checklist-items{list-style:none;margin:0;padding:0;display:grid;gap:4px}.checklist-item{display:flex;align-items:flex-start;gap:4px;font-size:.85rem;line-height:1.35}.checklist-item label{display:flex;align-items:flex-start;gap:7px;flex:1;cursor:pointer}.checklist-item input[type=checkbox]{margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.checklist-item.is-done span{text-decoration:line-through;color:var(--muted)}.checklist-remove{padding:0 3px;font-size:.9rem;line-height:1;color:var(--muted);background:none;border:0;cursor:pointer;opacity:0;transition:opacity var(--ease-fast)}.checklist-item:hover .checklist-remove,.checklist-remove:focus-visible{opacity:1}.checklist-add input{width:100%;margin-top:8px;padding:3px 0;font:inherit;font-size:.82rem;color:var(--ink);background:transparent;border:0;border-bottom:1px dashed var(--border)}.checklist-add input:focus{outline:none;border-bottom-color:var(--accent)}.checklist-count{margin-top:9px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.add-card-kinds{display:flex;gap:3px;margin-bottom:10px}.add-card-kind{flex:1;padding:4px 2px;font:inherit;font-size:.7rem;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--ease-fast),border-color var(--ease-fast)}.add-card-kind--on{color:var(--accent);border-color:var(--accent)}.add-card-photo input[type=file]{width:100%;font-size:.72rem;color:var(--muted)}.add-card-preview{display:block;width:100%;margin-top:8px;aspect-ratio:4 / 3;object-fit:cover;border-radius:2px}.add-card-error,.board-error{margin:8px 0 0;padding:7px 9px;font-size:.76rem;line-height:1.4;color:var(--error);background:var(--color-danger-soft);border-left:2px solid var(--error)}.board-error{position:absolute;top:10px;left:10px;z-index:12;max-width:320px;margin:0;background:var(--card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.desk-stat-sm{font-size:1.1rem!important;padding-top:5px}.desk-btn--file{position:relative;overflow:hidden;display:inline-flex;align-items:center}.desk-btn--file input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.session-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.session-row{display:flex;align-items:center;gap:10px;font-size:.85rem}.desk-dot--idle{background:var(--muted);box-shadow:none}.session-what{display:grid;gap:1px;flex:1;min-width:0}.session-what strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{font-size:.72rem;color:var(--muted)}.session-revoke{padding:4px 9px;font:inherit;font-size:.74rem;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--ease-fast),border-color var(--ease-fast)}.session-revoke:hover{color:var(--color-danger);border-color:var(--color-danger)}
