:root{--paper: #FEFDFB;--paper-deep: #F6F5F2;--panel: #F8F6F2;--card: #F9F6F0;--ink: #2B2118;--ink-soft: #6E5F50;--ink-faint: #A2917D;--orange: #D9531C;--orange-deep:#B23E0C;--terracotta: #B23A2E;--sage: #7E8856;--line: rgba(43,33,24,.1);--line-soft: rgba(43,33,24,.06);--topbar-h: 62px;--sidebar-w: 280px;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:Hanken Grotesk,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background-image:var(--grain);background-size:200px 200px;opacity:.018;mix-blend-mode:multiply}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;height:100vh;overflow:hidden}.topbar{grid-column:1 / -1;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 20px;background:#fdfcfbd1;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand .seal{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));box-shadow:0 1px #ffffff80 inset,0 3px 8px #b23e0c59;transform:rotate(-8deg);flex:none}.brand .name{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--ink)}.brand .sub{margin-left:4px;padding-left:11px;border-left:1px solid var(--line);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.pagetitle{font-family:Fraunces,serif;font-optical-sizing:auto;font-size:15px;font-weight:500;color:var(--ink-soft);letter-spacing:-.005em;opacity:0;will-change:opacity,transform}.pagetitle em{font-style:italic;color:var(--orange);font-weight:400}.sidebar{grid-row:2;grid-column:1;background:var(--panel);border-right:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto}.profile{background:var(--card);border:1px solid var(--line-soft);border-radius:14px;padding:14px;box-shadow:0 1px 2px #2b21180a}.profile .id{display:flex;align-items:center;gap:11px}.avatar{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:linear-gradient(140deg,#E9692C,var(--orange-deep));color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;box-shadow:0 2px 8px #b23e0c4d,0 1px #fff6 inset}.profile .who{min-width:0}.profile .who .n{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile .who .r{font-size:12px;color:var(--ink-faint);margin-top:1px}.profile .actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.pbtn{display:grid;place-items:center;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease}.pbtn:hover{background:#fff;color:var(--orange);border-color:#d9531c73}.pbtn:active{transform:translateY(1px)}.install-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px 14px;border-radius:11px;border:1px solid transparent;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.01em;color:#fff;cursor:pointer;background:linear-gradient(140deg,#E9692C,var(--orange-deep));box-shadow:0 4px 12px #b23e0c42,0 1px #ffffff4d inset;transition:transform .12s ease,box-shadow .25s ease,filter .2s ease}.install-btn:hover{filter:brightness(1.05);box-shadow:0 6px 16px #b23e0c52,0 1px #ffffff4d inset}.install-btn:active{transform:translateY(1px)}.install-btn.is-installed{background:var(--paper-deep);color:var(--ink-faint);border-color:var(--line);box-shadow:none;cursor:default;filter:none;opacity:.9}.sidebar .hint{margin-top:auto;font-size:11.5px;line-height:1.5;color:var(--ink-faint);text-align:center;padding:10px;letter-spacing:.02em}.main{grid-row:2;grid-column:2;min-height:0;overflow-y:auto;background-image:radial-gradient(900px 460px at 92% -12%,rgba(217,83,28,.035),transparent 60%)}.content{max-width:780px;margin:0 auto;padding:34px 40px 96px}.hero{transform-origin:left top;will-change:opacity,transform;margin-bottom:24px}.hero-title{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:500;font-size:clamp(40px,6vw,60px);line-height:1;letter-spacing:-.02em;margin:0;color:var(--ink)}.hero-title em{font-style:italic;color:var(--orange);font-weight:400}.hero-lede{margin:14px 0 0;max-width:46ch;font-size:16.5px;line-height:1.55;color:var(--ink-soft)}.toolbar{display:flex;align-items:center;gap:14px;margin-bottom:8px}.search{flex:1;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 13px;transition:border-color .2s ease,box-shadow .2s ease}.search:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #d9531c1a}.search svg{flex:none;color:var(--ink-faint)}.search input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--ink)}.search input::placeholder{color:var(--ink-faint)}.count{font-size:13px;color:var(--ink-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.section{margin-top:34px}.sectionhead{display:flex;align-items:baseline;gap:14px;margin-bottom:4px}.sectionhead .label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.sectionhead .rule{flex:1;height:1px;background:var(--line)}.sectionhead .n{font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.card{position:relative;display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line-soft);border-radius:15px;padding:21px 24px;margin-top:12px;cursor:pointer;color:inherit;font:inherit;box-shadow:0 1px 2px #2b21180a;transition:border-color .22s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.8,.2,1);overflow:hidden;opacity:0;transform:translateY(12px);animation:rise .6s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rise{to{opacity:1;transform:translateY(0)}}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:url(/Linen.png);background-size:cover;background-position:center;opacity:0;mix-blend-mode:multiply;transition:opacity .4s ease}.card>.cardtop,.card>.outcome,.card>.meta{position:relative;z-index:1}.card:hover{border-color:#d9531c73;box-shadow:0 20px 40px -22px #b23e0c6b,0 2px 6px #2b21180d;transform:translateY(-2px)}.card:hover:before{opacity:.55}.card:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.cardtop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.title{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:500;font-size:22px;line-height:1.18;letter-spacing:-.01em;margin:0;color:var(--ink);background-image:linear-gradient(var(--orange),var(--orange));background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease;display:inline;padding-bottom:2px}.card:hover .title{background-size:100% 1.5px}.outcome{margin:10px 0 0;max-width:52ch;font-size:15px;line-height:1.6;color:var(--ink-soft)}.meta{margin-top:16px;display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase;font-weight:600}.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);opacity:.6}.status{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ink-faint)}.status .pip{width:7px;height:7px;border-radius:50%}.status.ready .pip{background:var(--sage)}.status.review .pip{background:var(--terracotta);box-shadow:0 0 0 3px #b23a2e1f}.status.review{color:var(--terracotta)}.open{position:absolute;right:22px;bottom:20px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--orange);opacity:0;transform:translate(-6px);transition:opacity .28s ease,transform .28s ease}.card:hover .open{opacity:1;transform:translate(0)}.open svg{transition:transform .28s ease}.card:hover .open svg{transform:translate(3px)}.empty{margin-top:44px;text-align:center;color:var(--ink-faint);font-size:16px}.foot{margin-top:54px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--ink-faint);max-width:54ch}.foot b{color:var(--ink-soft);font-weight:600}.gate-seal{width:46px;height:46px;border-radius:13px;flex:none;background:linear-gradient(135deg,var(--orange),var(--orange-deep));box-shadow:0 1px #ffffff80 inset,0 6px 18px #b23e0c52;transform:rotate(-8deg)}.boot{height:100vh;display:grid;place-items:center;background:var(--paper)}.boot .gate-seal{animation:gate-pulse 1.3s ease-in-out infinite}@keyframes gate-pulse{0%,to{opacity:.55;transform:rotate(-8deg) scale(.96)}50%{opacity:1;transform:rotate(-8deg) scale(1)}}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--paper) 0%,var(--paper-deep) 100%)}.gate-card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:var(--card);border:1px solid var(--line-soft);border-radius:18px;padding:32px 30px 30px;box-shadow:0 1px 2px #2b21180d,0 18px 50px #2b211814}.gate-title{margin:6px 0 0;font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:600;font-size:26px;letter-spacing:-.01em;color:var(--ink)}.gate-lede{margin:0;font-size:14px;line-height:1.5;color:var(--ink-soft)}.gate-input{width:100%;margin-top:4px;padding:13px 15px;border-radius:11px;border:1px solid var(--line);background:var(--paper);font-family:inherit;font-size:16px;letter-spacing:.04em;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}.gate-input::placeholder{color:var(--ink-faint);letter-spacing:.02em}.gate-input:focus{outline:none;border-color:#d9531c8c;box-shadow:0 0 0 3px #d9531c24}.gate-err{font-size:13px;color:var(--terracotta);line-height:1.45}.gate-btn{width:100%;margin-top:4px;padding:12px 16px;border-radius:11px;border:1px solid transparent;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 2px 8px #b23e0c4d,0 1px #ffffff59 inset;transition:filter .18s ease,transform .12s ease,opacity .18s ease}.gate-btn:hover:not(:disabled){filter:brightness(1.05)}.gate-btn:active:not(:disabled){transform:translateY(1px)}.gate-btn:disabled{opacity:.5;cursor:default}.admin{min-height:100vh;padding:40px 24px;background:radial-gradient(1200px 600px at 50% -10%,var(--paper) 0%,var(--paper-deep) 100%)}.admin-panel{width:100%;max-width:680px;margin:0 auto;background:var(--card);border:1px solid var(--line-soft);border-radius:18px;padding:26px 28px 28px;box-shadow:0 1px 2px #2b21180d,0 18px 50px #2b211814}.admin-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}.admin-head .brand .name{font-size:20px}.admin-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}.admin-input{padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font-family:inherit;font-size:14px;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}.admin-input::placeholder{color:var(--ink-faint)}.admin-input:focus{outline:none;border-color:#d9531c8c;box-shadow:0 0 0 3px #d9531c24}.gate-btn.admin-create{width:auto;margin-top:0;padding:11px 18px;font-size:14px}.admin-created{margin-top:16px;padding:14px 16px;border-radius:12px;background:#7e88561a;border:1px solid rgba(126,136,86,.32)}.admin-created-label{font-size:13px;color:var(--ink-soft);margin-bottom:8px}.admin-created-row{display:flex;align-items:center;gap:10px}.pid{font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--orange-deep);background:var(--paper);border:1px solid var(--line);padding:5px 9px;border-radius:8px}.copy-btn{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.copy-btn:hover{background:#fff;color:var(--orange);border-color:#d9531c73}.admin-list{margin-top:24px;display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line-soft)}.admin-who{min-width:0;flex:1}.admin-who .n{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-who .r{font-size:12px;color:var(--ink-faint);margin-top:1px}.admin-date{font-size:12px;color:var(--ink-faint);white-space:nowrap}@media(max-width:560px){.admin-form{grid-template-columns:1fr}.gate-btn.admin-create{width:100%}}
