:root{--paper:#fdf2f4;--bg:#fdf2f4;--bg-soft:#f7e4e8;--card:#fffafb;--line:#e8c9d1;--line-hard:#3d2130;--text:#3d2130;--accent:#b2355a;--accent-hover:#9c2b4d;--accent-ink:#fffafb;--accent-soft:#fbe0e7;--teal:#6f9b96;--mustard:#e6ab5e;--green:#8aa678;--blue:#8d8cc4;--bubble-them:#f7e4e8;--bubble-you:#f6d3de;--shadow:3px 3px 0 var(--line-hard)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,Segoe UI,Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.logo{font-size:19px;font-weight:650;letter-spacing:-.02em}.nav-links{display:flex;gap:22px;font-size:14px}.nav-links,.nav-links a{color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:56px;gap:56px;align-items:start;padding:56px 0 72px}.eyebrow{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--line-hard);padding:5px 11px;margin-bottom:22px}h1{font-size:clamp(34px,5.2vw,56px);line-height:1.05;letter-spacing:-.035em;margin:0 0 20px;font-weight:640}.lede{font-size:17px;color:var(--muted);margin:0 0 28px;max-width:46ch}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:12px 20px;border-radius:10px;font-size:15px;font-weight:560;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{text-decoration:none}.btn-ghost{border-color:var(--line);background:transparent}.btn-ghost:hover{border-color:var(--muted);text-decoration:none}.phone{background:var(--bg-soft);border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 30px 70px -30px rgba(61,33,48,.45)}.phone-head{display:flex;align-items:center;gap:11px;padding:6px 6px 14px;border-bottom:1px solid var(--line)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(140deg,#efa9bf,#b694cf);flex:0 0 auto}.who{font-size:15px;font-weight:560}.who small{display:block;font-size:12px;color:var(--muted);font-weight:400}.ai-tag{margin-left:auto;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px}.thread{height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:16px 6px}.bubble{max-width:78%;padding:9px 13px;border-radius:17px;font-size:14.5px;white-space:pre-wrap;word-break:break-word}.bubble.them{background:var(--bubble-them);border-bottom-left-radius:6px;align-self:flex-start}.bubble.you{border-bottom-right-radius:6px;align-self:flex-end}.dots{display:inline-flex;gap:4px;align-items:center}.dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1.3s infinite}.dots i:nth-child(2){animation-delay:.18s}.dots i:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.composer{display:flex;gap:8px;padding:10px 6px 4px;border-top:1px solid var(--line)}.composer input{flex:1 1;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font-size:14.5px;font-family:inherit}.composer input:focus{outline:none;border-color:var(--accent)}.composer button{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:0 16px;font-weight:600;font-size:14.5px;cursor:pointer}.composer button:disabled{opacity:.45;cursor:default}.picker{display:flex;gap:7px;padding:12px 6px 2px;flex-wrap:wrap}.chip{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;font-family:inherit}.chip[data-on=true]{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.note{font-size:12px;color:var(--muted);padding:10px 6px 2px}section{padding:64px 0;border-top:1px solid var(--line)}h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.03em;margin:0 0 12px;font-weight:620}.sub{color:var(--muted);margin:0 0 36px;max-width:58ch}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}.card h3{margin:0 0 8px;font-size:16.5px;font-weight:580}.card p{margin:0;color:var(--muted);font-size:14.5px}.card .num{display:inline-block;font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:12px}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:center}.quote{background:var(--card);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:12px;padding:22px;font-size:15.5px;color:var(--text)}.quote small{display:block;margin-top:10px;color:var(--muted);font-size:13px}footer{border-top:1px solid var(--line);padding:34px 0 56px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13.5px;flex-wrap:wrap}@media (max-width:880px){.hero{gap:40px;padding-top:32px}.grid,.hero,.split{grid-template-columns:1fr}.nav-links{display:none}}.shell{max-width:1060px;margin:0 auto;padding:0 20px 72px}.topbar{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:30px}.topbar .logo{margin-right:auto}.topbar form{display:inline}.linkish{background:none;border:none;font:inherit;cursor:pointer;padding:0;font-size:14px}.linkish:hover{color:var(--text)}.roster{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;align-items:stretch}.ch-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;color:var(--text)}.ch-card>p{flex:1 1}.ch-card:hover{border-color:var(--muted);text-decoration:none}.ch-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ch-card h3{margin:0;font-size:16px;font-weight:580}.ch-card p{margin:0;color:var(--muted);font-size:14px}.ch-meta{font-size:12px;color:var(--muted);margin-top:12px}.avatar-sm{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:block}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:40px 0 16px}.section-head h2{margin:0;font-size:20px}.rows{flex-direction:column;gap:8px}.row,.rows{display:flex}.row{align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--text)}.row:hover{border-color:var(--muted);text-decoration:none}.row .meta{margin-left:auto;font-size:12.5px;color:var(--muted)}.row .snippet{color:var(--muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.panel{max-width:420px;margin:40px auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}.panel.wide{max-width:620px}.panel h1{font-size:24px;margin:0 0 6px}.panel .sub{font-size:14.5px;margin-bottom:22px}.field{margin-bottom:15px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font-size:14.5px;font-family:inherit}.field textarea{min-height:120px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.hint{font-size:12px;color:var(--muted)}.field .hint{margin-top:5px}.error{border:1px solid var(--accent);border-radius:10px;padding:10px 13px;font-size:13.5px;margin-bottom:16px}.btn-full{width:100%;text-align:center}.panel .alt{text-align:center;font-size:13.5px;color:var(--muted);margin:18px 0 0}.chat-wrap{max-width:760px;margin:0 auto;padding:0 20px}.chat-head{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:3}.chat-head .who small{color:var(--muted)}.chat-thread{display:flex;flex-direction:column;gap:10px;padding:24px 0 120px;min-height:60vh}.chat-composer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,var(--bg) 70%,transparent);padding:18px 20px 24px}.chat-composer form{max-width:760px;margin:0 auto;display:flex;gap:9px}.chat-composer input{flex:1 1;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 15px;font-size:15px;font-family:inherit}.chat-composer input:focus{outline:none;border-color:var(--accent)}.chat-composer button{background:var(--accent);color:var(--accent-ink);border:none;border-radius:12px;padding:0 20px;font-weight:600;font-size:15px;cursor:pointer}.chat-composer button:disabled{opacity:.45;cursor:default}.empty{border:1px dashed var(--line);border-radius:14px;padding:34px;text-align:center;color:var(--muted);font-size:14.5px}@media (max-width:880px){.roster{grid-template-columns:1fr}}.ch-actions{display:flex;gap:8px;margin-top:14px}.ch-btn{flex:1 1;text-align:center;padding:8px 10px;font-size:13.5px}.google-btn{justify-content:center;gap:9px;margin-bottom:18px}.google-btn,.or{display:flex;align-items:center}.or{gap:12px;color:var(--muted);font-size:12.5px;margin:0 0 18px}.or:after,.or:before{content:"";flex:1 1;height:1px;background:var(--line)}.play{display:grid;grid-template-columns:minmax(0,620px) 260px;grid-gap:40px;gap:40px;align-items:start;justify-content:center}.play-main{min-width:0}.play-head{display:flex;align-items:center;gap:12px;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:22px;position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--bg)}.prose{font-family:Georgia,Iowan Old Style,serif;line-height:1.62}.prose p{margin:0 0 16px}.beat-narr{margin-bottom:4px}.beat-player{font-family:ui-sans-serif,-apple-system,system-ui,sans-serif;font-size:14px;margin:0 0 16px}.beat-player:before{content:"› ";opacity:.6}.beat-status{color:var(--muted);font-style:italic;font-size:14px;font-family:inherit}.intents{margin:6px 0 18px}.intent-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.intent{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13.5px}.intent p{margin:4px 0 0;color:var(--muted)}.intent em{color:var(--accent);font-style:normal;font-size:12px}.play-composer{display:flex;gap:9px;position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg);padding:14px 0 20px}.play-composer input{flex:1 1;background:var(--bg-soft);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 15px;font-size:15px;font-family:inherit}.play-composer input:focus{outline:none;border-color:var(--accent)}.play-composer button{background:var(--accent);color:var(--accent-ink);border:none;border-radius:12px;padding:0 20px;font-weight:600;font-size:15px;cursor:pointer}.play-composer button:disabled{opacity:.45;cursor:default}.play-side section{margin-bottom:26px}.play-side h3{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-weight:600}.side-item{font-size:13.5px;margin:0 0 8px;color:var(--text)}.side-item.dim{color:var(--muted)}.person{margin-bottom:14px}.person-top{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:4px}.trust{flex:1 1;height:3px;background:var(--line);border-radius:2px;overflow:hidden}.trust span{display:block;height:100%}.chip-face{display:inline-flex;align-items:center;gap:7px}@media (max-width:880px){.play{grid-template-columns:1fr}}.taps{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 10px}.tap{background:transparent;border:1px solid var(--line);padding:8px 15px;font:inherit;font-size:14px;cursor:pointer}.tap:hover{border-color:var(--accent);color:var(--accent)}.kind-pick{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px}.panel-list{display:flex;flex-direction:column;gap:8px;align-content:start}.connect-row{display:flex;gap:6px;align-items:center;margin-top:8px}.connect-row input{flex:1 1 auto;min-width:0}.connect-row select{flex:0 1 34%}.tap.on{border-color:var(--accent);color:var(--accent);font-weight:600}.notes h4{font-size:12px;margin:14px 0 4px;color:var(--text);font-weight:600}.notes h4:first-child{margin-top:0}.notes p{font-size:12.5px;color:var(--muted);margin:0 0 6px;line-height:1.5}@media (max-width:880px){.options{grid-template-columns:1fr}}.back-link{color:var(--muted);font-size:13.5px;text-decoration:none;white-space:nowrap;padding:4px 0}.back-link:hover{color:var(--text)}.chat-wrap .topbar{margin-bottom:0}.chat-head{gap:14px}body{background-color:var(--paper);background-image:radial-gradient(rgba(61,33,48,.04) 1px,transparent 0);background-size:3px 3px}.logo,.panel h1,.play-head>div>div:first-child,h1,h2{font-family:"DM Serif Display",Georgia,Times New Roman,serif;letter-spacing:-.01em}.chat-head,.play-head,.section-head,.topbar{position:relative;border-bottom:2px solid var(--line-hard)}.chat-head:after,.play-head:after,.section-head:after,.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(to right,var(--accent) 0 20%,var(--mustard) 20% 40%,var(--green) 40% 60%,var(--teal) 60% 80%,var(--blue) 80% 100%)}.section-head{padding-bottom:8px}.logo{font-size:22px;font-weight:400;color:var(--text)}.card,.ch-card,.empty,.intent,.option,.panel,.row,.tap{background:var(--card);border:2px solid var(--line-hard);box-shadow:var(--shadow);border-radius:4px}.ch-card:hover,.row:hover{border-color:var(--line-hard);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--line-hard)}.ch-card,.row{transition:transform .08s,box-shadow .08s}.ch-top{margin:-18px -18px 12px;padding:8px 12px;background:var(--bg-soft);border-bottom:2px solid var(--line-hard);border-radius:2px 2px 0 0}.ch-card h3{font-size:15px}.btn,.chat-composer button,.composer button,.play-composer button,.tap{border:2px solid var(--line-hard);border-radius:4px;box-shadow:var(--shadow);font-weight:600}.btn:active,.composer button:active,.play-composer button:active,.tap:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--line-hard)}.btn-primary,.chat-composer button,.composer button,.play-composer button{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--card);color:var(--text)}.btn-ghost:hover{background:var(--bg-soft)}.chat-composer input,.composer input,.field input,.field select,.field textarea,.play-composer input{background:var(--card);border:2px solid var(--line-hard);border-radius:4px;color:var(--text)}.chat-composer input:focus,.composer input:focus,.field input:focus,.field textarea:focus,.play-composer input:focus{outline:none;border-color:var(--accent)}.back-link{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:2px solid var(--line-hard);border-radius:4px;box-shadow:var(--shadow);padding:5px 11px;font-size:13px;font-weight:600;color:var(--text)}.back-link:hover{background:var(--bg-soft);text-decoration:none}.back-link:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--line-hard)}.back-link.danger{background:var(--accent-soft);border-color:var(--accent);color:#8f2240}.back-link.danger:hover{background:var(--accent);color:var(--accent-ink)}button.back-link{font-family:inherit;cursor:pointer}.linkish{color:var(--muted);font-weight:500}.linkish:hover{color:var(--accent)}.cast{padding:10px 0 2px}.cast-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.cast-strip::-webkit-scrollbar{display:none}.cast-face{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:2px;cursor:pointer;font:inherit;color:var(--muted);flex:0 0 auto;max-width:72px}.cast-face span{font-size:11px;font-weight:560;line-height:1.1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:68px}.cast-face .avatar-sm{border:2px solid transparent}.cast-face.on span,.cast-face:hover span{color:var(--text)}.cast-face.on .avatar-sm{border-color:var(--accent)}.cast-card{margin-top:8px;padding:10px 12px;background:var(--card);border:2px solid var(--line-hard);border-radius:6px;box-shadow:var(--shadow)}.cast-card strong{display:block;margin-bottom:2px}.cast-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.bubble{border:2px solid var(--line-hard);box-shadow:2px 2px 0 var(--line-hard)}.bubble.them{background:var(--card)}.bubble.you{background:var(--bubble-you)}.avatar-sm{border:2px solid var(--line-hard)}.prose{font-family:"DM Serif Display",Georgia,serif;font-size:17px}.prose p{font-family:Georgia,Iowan Old Style,serif}.beat-player{color:var(--accent);font-weight:600}.tap{background:var(--card);color:var(--text);border-radius:999px}.tap:hover{background:var(--mustard);color:var(--line-hard);border-color:var(--line-hard)}.tap-open{background:var(--bg-soft);color:var(--muted)}.tap.on{background:var(--mustard);color:var(--line-hard);border-color:var(--line-hard)}.notes,.play-side h3,.side-item{color:var(--muted)}.trust span{background:var(--accent)}.empty{border-style:dashed}.error{background:var(--accent-soft);border:2px solid var(--accent);color:#8f2240;box-shadow:var(--shadow);border-radius:4px}.eyebrow{background:var(--mustard);color:var(--line-hard);border:2px solid var(--line-hard);border-radius:999px}.card,.ch-card,.empty,.intent,.panel,.row{border:1px solid var(--line);box-shadow:none;border-radius:6px}.ch-card:hover,.row:hover{border-color:var(--muted);transform:none;box-shadow:0 2px 0 var(--line)}.ch-top{background:transparent;border-bottom:1px solid var(--line);margin:-20px -20px 14px;padding:14px 20px}.back-link,.btn,.chat-composer button,.composer button,.play-composer button,.tap{border:2px solid var(--line-hard);box-shadow:2px 2px 0 var(--line-hard)}.chat-head:after,.play-head:after,.section-head:after{display:none}.chat-head,.play-head{border-bottom:1px solid var(--line)}.section-head{border-bottom:none;padding-bottom:0}.section-head h2{font-family:ui-sans-serif,-apple-system,system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.panel h1,h1{font-family:"DM Serif Display",Georgia,serif}:root{--muted:#7c5767}body{font-size:15px;line-height:1.6}.ch-card{padding:20px}.ch-card p,.side-item{font-size:14px}.roster{gap:20px}.section-head{margin:44px 0 18px}.rows{gap:10px}.row{padding:14px 16px}.shell{padding-bottom:96px}.lede,.prose,.sub{max-width:62ch}.shared-note{margin:14px 0 0;padding:9px 11px;font-size:13px;color:var(--muted);background:var(--card);border:1px solid var(--line)}.shared-note a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.shared-note a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.bubble .action{font-style:italic;color:var(--muted)}.bubble.you .action{color:#7a4a5c}.ch-card .action,.snippet .action{font-style:italic;color:var(--muted)}.builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start;max-width:1060px;margin:0 auto;padding:0 20px 80px}.builder-talk{position:-webkit-sticky;position:sticky;top:16px;min-width:0}.builder-talk,.builder-thread{display:flex;flex-direction:column}.builder-thread{gap:10px;max-height:52vh;overflow-y:auto;padding:4px 2px 10px}.builder-composer{display:flex;gap:9px;margin-top:10px}.builder-composer input{flex:1 1}.builder-draft{min-width:0}.builder-draft .field input,.builder-draft .field select,.builder-draft .field textarea{width:100%}.builder-draft .section-head{margin-top:0}.cast{margin:0;padding-left:18px;font-size:13.5px;color:var(--muted)}.cast strong{color:var(--text);font-weight:560}@media (max-width:880px){.builder{grid-template-columns:1fr}.builder-talk{position:static}}.panel-alt{text-align:center;font-size:13.5px;margin:0 0 60px}a.ch-card{color:var(--text)}a.ch-card,a.ch-card:hover{text-decoration:none}.ch-scene{flex:1 1;margin:0 0 14px;font-size:13.5px;color:var(--muted)}.ch-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:11px}.ch-cast{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-enter{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.ch-card:hover .ch-enter{text-decoration:underline}.ch-top p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.ch-card,.ch-cast,.ch-foot{min-width:0}.ch-cast{flex:1 1 auto}.ch-enter{flex:0 0 auto}.chat-composer .taps{max-width:760px;margin:0 auto 10px}.chat-composer .taps .tap{background:var(--card);color:var(--text)}.chat-composer .taps .tap:hover{background:var(--bubble-them)}.taps.fork{flex-wrap:nowrap;gap:10px}.taps.fork .tap{flex:1 1;min-width:0;text-align:center;border-radius:12px;padding:12px 14px;border-color:var(--line-hard);font-size:15px}.chat-composer .taps.fork .tap{background:var(--card)}.taps.fork .tap:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:540px){.taps.fork{flex-wrap:wrap}.taps.fork .tap{flex:1 1 100%}}.world-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 22px}.loom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.loom-section{margin-bottom:22px}.loom-section h3{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:600}.loom-thread{display:grid;grid-gap:3px;gap:3px;width:100%;text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:11px 13px;margin-bottom:8px;font:inherit;color:var(--text)}.loom-thread:hover{border-color:var(--muted)}.loom-thread.fired{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.loom-thread strong{font-weight:560;font-size:14.5px}.loom-meta{font-size:12px;color:var(--accent)}.loom-thread .snippet{max-width:none}.loom-row{display:flex;gap:20px;align-items:center;font-size:13.5px;color:var(--muted)}.loom-row input[type=checkbox]{width:auto}.loom-row select{width:auto;display:inline-block}.loom-preview{margin:12px 0 0;padding:12px;max-height:420px;overflow:auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}@media (max-width:880px){.loom{grid-template-columns:1fr}}.wide-shell{max-width:1320px}.map-tools{display:flex;align-items:center;gap:10px;margin-bottom:12px}.map-tools .btn{padding:7px 14px;font-size:13.5px}.btn-on{background:var(--accent);color:var(--accent-ink)}.map-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:24px;gap:24px;align-items:start}.map-surface{width:100%;height:620px;background:var(--card);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:26px 26px;border:2px solid var(--line-hard);border-radius:6px;touch-action:none}.map-node{cursor:-webkit-grab;cursor:grab}.map-node circle{fill:var(--bg-soft);stroke:var(--line-hard);stroke-width:2;transition:r .08s}.map-node text{text-anchor:middle;font-size:12.5px;font-weight:560;fill:var(--text);paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}.map-node.kind-person circle{fill:#f3c9d6}.map-node.kind-place circle{fill:#cfe0dd}.map-node.kind-event circle{fill:#f2d9ab}.map-node.kind-idea circle{fill:#d6d5ec}.map-node.kind-thing circle{fill:var(--bg-soft)}.map-node.selected circle{stroke:var(--accent);stroke-width:3}.map-node.kind-rule rect{fill:var(--card);stroke:var(--line-hard);stroke-width:1;stroke-dasharray:4 3}.map-node.kind-rule text{fill:var(--muted);font-style:italic}.map-node.kind-rule.selected rect{stroke:var(--accent);stroke-width:3;stroke-dasharray:6 4}.map-node.kind-rule.ghost{cursor:pointer}.map-node.kind-rule.ghost rect{fill:none;stroke:var(--line)}.map-node.kind-rule.ghost:hover rect{stroke:var(--line-hard)}.map-edge line{stroke:var(--line);stroke-width:2}.map-edge text{text-anchor:middle;font-size:11px;fill:var(--muted);cursor:pointer}.slot-list{gap:6px}.slot-list,.slot-row{display:flex;flex-direction:column}.slot-row{gap:2px;width:100%;padding:8px 10px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:4px;font:inherit;color:inherit;cursor:pointer;overflow:hidden}.slot-row:hover{background:var(--bg-soft)}.slot-row:disabled{opacity:.45;cursor:default}.slot-row:disabled:hover{background:transparent}.slot-row.slot-own{border-left:3px solid var(--accent);padding-left:8px}.slot-row.slot-add{border-style:dashed}.slot-row.slot-add .slot-head strong{color:var(--muted)}.slot-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.slot-head strong{font-weight:600;color:var(--text)}.slot-head .hint{flex:none;margin:0}.slot-peek{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.map-side .panel{margin:0;max-width:none}@media (max-width:1000px){.map-grid{grid-template-columns:1fr}.map-surface{height:460px}}.draft-map{width:100%;height:300px;margin-bottom:18px;background:var(--card);background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:26px 26px;border:2px solid var(--line-hard);border-radius:6px}.empty-map{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 28px}.empty-map .hint{margin:0;max-width:34ch}.draft-lists{width:100%;min-height:120px;margin-bottom:18px;padding:14px 16px;background:var(--card);border:2px solid var(--line-hard);border-radius:6px}.draft-lists.empty-map{padding:0 28px;min-height:120px}.draft-group+.draft-group{margin-top:14px}.draft-tabs{margin:0 0 14px}.draft-group h4{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.slot-defaults>.hint{margin:6px 0 10px}.slot-default{padding:8px 10px;border:1px solid var(--line);border-radius:4px;overflow:hidden}.slot-default>summary{cursor:pointer;list-style:none}.slot-default>summary::-webkit-details-marker{display:none}.slot-default:hover{background:var(--bg-soft)}.slot-default strong{font-size:13px}.slot-default>.hint{margin:6px 0 0}.slot-default pre{margin:6px 0 0;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:4px;font-size:12px;line-height:1.5;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;max-height:180px;overflow-y:auto}