:root{--bg: #ffffff;--fg: #111111;--fg-dim: #777777;--border: rgba(0, 0, 0, .08);--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px}a{color:var(--fg)}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.5rem;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .title{font-family:var(--font-mono);font-size:1.05rem;white-space:nowrap}.site-header .title a{text-decoration:none}.site-header .title span{color:var(--fg-dim)}.site-header nav{margin-left:auto;display:flex;gap:1.1rem;font-family:var(--font-mono);font-size:.78rem}.site-header nav a{color:var(--fg-dim);text-decoration:none}.site-header nav a:hover,.site-header nav a.active{color:var(--fg);text-decoration:underline;text-underline-offset:3px}.page{max-width:62rem;margin:0 auto;padding:2rem 1.5rem 4rem;line-height:1.55}.page h1{font-size:1.6rem;margin-bottom:1rem;font-weight:600}.page h2{font-size:1.15rem;margin:1.75rem 0 .5rem;font-weight:600}.page p,.page ul,.page ol{margin-bottom:.75rem}.page ul,.page ol{padding-left:1.4rem}.page code{font-family:var(--font-mono);font-size:.85em;background:#f4f4f4;padding:.1em .3em;border-radius:3px}.page pre{background:#f7f7f7;border:1px solid var(--border);padding:.9rem;overflow-x:auto;border-radius:6px;margin-bottom:.9rem}.page pre code{background:none;padding:0}.muted{color:var(--fg-dim)}.small{font-size:.85rem}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.55rem 1.5rem;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.75rem}.map-toolbar .spacer{margin-left:auto}.btn{font-family:var(--font-mono);font-size:.75rem;background:var(--fg);color:#fff;border:1px solid var(--fg);padding:.32rem .7rem;cursor:pointer;border-radius:3px}.btn:hover{opacity:.82}.btn.outline{background:transparent;color:var(--fg)}.btn.warn{background:#b3261e;border-color:#b3261e}.notice{padding:.5rem 1.5rem;font-size:.82rem;font-family:var(--font-mono);background:#fff8e1;border-bottom:1px solid #eadfa9}.notice.error{background:#fdecea;border-color:#f2c1bd}.notice a{text-underline-offset:3px}.diagram-outer{overflow-x:auto;overflow-y:hidden}.diagram-scale{transform-origin:top left}.diagram{position:relative;font-family:var(--font-body)}.band{position:absolute;left:0;border-radius:6px}.band-name{position:absolute;display:flex;flex-direction:column;justify-content:center;font-family:var(--font-mono);font-size:26px;line-height:1.25;font-weight:600;pointer-events:none}.col-year{position:absolute;top:0;text-align:center;font-family:var(--font-mono);font-size:13px;color:#999}.col-header{position:absolute;top:24px;height:28px;display:flex;align-items:center;justify-content:center;color:#d6d6d6;font-family:var(--font-mono);font-size:15.5px;letter-spacing:.02em;border-radius:4px}.col-header b{color:#fff;font-weight:700}.col-sep{position:absolute;width:0;border-left:2px dashed rgba(255,255,255,.75);pointer-events:none}.theme-label{position:absolute;left:0;width:196px;transform:translateY(-50%);text-align:right;font-family:var(--font-mono);font-size:15px;font-weight:700;line-height:1.35}.theme-label .theme-goal{display:block;font-weight:400;font-size:13px;opacity:.75;font-style:italic}.subtheme-label{position:absolute;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;opacity:.85}.arrows{position:absolute;top:0;left:0;pointer-events:none}.map-box{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 10px;border:2px solid;border-radius:9px;font-size:13.5px;line-height:1.18;text-align:center;text-decoration:none;cursor:pointer;font-family:var(--font-body)}.map-box .box-title{font-weight:500}.map-box .box-title.has-links{text-decoration:underline;text-underline-offset:2px}.map-box .box-subtitle{font-style:italic;font-size:12.5px;opacity:.95}.map-box.kind-north-star .box-title{font-weight:700}.map-box.map-bar{flex-direction:row;border-radius:7px;font-size:13px}button.map-box{appearance:none}.map-box:hover{filter:brightness(1.06)}.box-badge{position:absolute;top:-9px;right:-7px;color:#fff;font-family:var(--font-mono);font-size:10.5px;padding:2px 6px;border-radius:4px}.box-emoji{position:absolute;top:-12px;right:-10px;font-size:17px}.box-badge+.box-emoji{right:30px}.box-hl{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);color:#fff;font-family:var(--font-mono);font-size:9.5px;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.map-box.ghost{background:transparent;border:2px dashed #b3261e;color:#b3261e;opacity:.75;cursor:default}.map-box.ghost .ghost-note{position:absolute;bottom:-16px;font-size:10px;font-family:var(--font-mono)}.connect-handle{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:2px solid #111;cursor:crosshair;z-index:20}.connect-handle:hover{background:#1a9850;border-color:#1a9850}.drop-cell{position:absolute;border:2.5px dashed #111;border-radius:9px;background:#0000000d;pointer-events:none;z-index:5}.hint-inline{font-size:.7rem}.editor-layout{display:flex;align-items:flex-start}.editor-layout .diagram-outer{flex:1;min-width:0}.editor-panel{width:340px;flex-shrink:0;border-left:1px solid var(--border);padding:1rem;font-size:.83rem;position:sticky;top:52px;max-height:calc(100vh - 52px);overflow-y:auto}.editor-panel h3{font-family:var(--font-mono);font-size:.9rem;margin-bottom:.7rem}.editor-panel label{display:block;margin:.55rem 0 .15rem;font-family:var(--font-mono);font-size:.68rem;color:var(--fg-dim)}.editor-panel input[type=text],.editor-panel select,.editor-panel textarea{width:100%;font-family:var(--font-body);font-size:.83rem;padding:.3rem .4rem;border:1px solid #ccc;border-radius:4px;background:#fff;color:var(--fg)}.editor-panel textarea{min-height:4.2rem;resize:vertical}.editor-panel .row{display:flex;gap:.5rem}.editor-panel .row>div{flex:1}.editor-panel .check{display:flex;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.8rem}.editor-panel .actions{display:flex;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.editor-panel .hint{color:var(--fg-dim);font-size:.72rem;margin-top:.3rem}.diff-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;padding:.9rem 1.5rem;border-bottom:1px solid var(--border);font-size:.83rem}.diff-controls label{display:block;font-family:var(--font-mono);font-size:.68rem;color:var(--fg-dim);margin-bottom:.2rem}.diff-controls input[type=text]{width:20rem;max-width:70vw;font-size:.83rem;padding:.32rem .45rem;border:1px solid #ccc;border-radius:4px}.diff-controls select{font-size:.83rem;padding:.32rem .45rem;border:1px solid #ccc;border-radius:4px;background:#fff;color:var(--fg)}.toggle-group{display:inline-flex}.toggle-group .small-btn{border-radius:0}.toggle-group .small-btn:first-child{border-radius:3px 0 0 3px}.toggle-group .small-btn:last-child{border-radius:0 3px 3px 0;border-left:none}.small-btn{font-size:.7rem;padding:.22rem .55rem}.btn.outline.active{background:var(--fg);color:#fff}.check-inline{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-family:var(--font-mono);color:var(--fg-dim);cursor:pointer}.diff-summary{padding:.9rem 1.5rem}.diff-summary h2{font-size:1rem;margin:.6rem 0;font-family:var(--font-mono)}.diff-list{list-style:none;padding:0;font-size:.86rem}.diff-list li{padding:.3rem 0;border-bottom:1px dashed var(--border)}.chip{display:inline-block;font-family:var(--font-mono);font-size:.66rem;color:#fff;padding:.1rem .45rem;border-radius:4px;margin-right:.5rem;text-transform:uppercase;letter-spacing:.05em;vertical-align:1px}.item-head{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:.7rem}.item-box-preview{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;min-height:56px;padding:6px 14px;border:2px solid;border-radius:9px;font-size:14px;text-align:center}.item-box-preview .box-subtitle{font-style:italic;font-size:12.5px}.meta-table{border-collapse:collapse;font-size:.88rem;margin:.75rem 0 1rem}.meta-table td{padding:.25rem 1rem .25rem 0;vertical-align:top}.meta-table td:first-child{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);white-space:nowrap;padding-top:.38rem}@media(max-width:900px){.editor-panel{width:280px}.site-header nav{gap:.7rem}}
