:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1c2430;--muted: #6b7686;--border: #dde2e8;--accent: #2563c9;--danger: #c0392b;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14181e;--surface: #1c222a;--text: #e4e8ee;--muted: #8e99a8;--border: #2d3540;--accent: #6ea2ff;--danger: #ff7a6b;color-scheme:dark}}:root[data-theme=dark]{--bg: #14181e;--surface: #1c222a;--text: #e4e8ee;--muted: #8e99a8;--border: #2d3540;--accent: #6ea2ff;--danger: #ff7a6b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:1.1rem;color:var(--text)}main{max-width:960px;margin:0 auto;padding:16px}h1{font-size:1.4rem;margin:.4em 0 .8em}h2{font-size:1.1rem;margin:1.2em 0 .6em}details.section>summary{cursor:pointer;margin:1.2em 0 .6em}details.section>summary h2{display:inline;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin:12px 0;display:flex;flex-direction:column;gap:10px}.card.narrow{max-width:380px;margin:40px auto}.card.row,.row{flex-direction:row;flex-wrap:wrap;align-items:center;display:flex;gap:8px}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}input,textarea,button{font:inherit;color:inherit}input,textarea{padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--bg);min-width:0}textarea{font-family:ui-monospace,monospace;font-size:.85rem;resize:vertical}.search{width:100%;margin:8px 0 12px}button{padding:7px 14px;border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.danger{background:var(--danger)}button.link{background:none;color:var(--accent);padding:0}button:hover{text-decoration:none;filter:brightness(1.08)}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:.85rem;color:var(--muted)}.list{padding-left:18px}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.warning{border-color:#d9a400;background:color-mix(in srgb,#d9a400 12%,var(--surface))}.ellipsis{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.inline{flex-direction:row;align-items:center;gap:8px}table{margin-bottom:8px}@media(max-width:640px){table{display:block;overflow-x:auto}}main:has(.wide){max-width:none}.editor-top{margin-bottom:8px}.editor-top h1{margin:0;font-size:1.2rem}.grow{flex:1 1 200px}.editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}@media(max-width:900px){.editor{grid-template-columns:1fr}}.editor-map{min-width:0;position:relative}button.finish-drawing{box-shadow:0 2px 8px #00000040}div.finish-drawing{position:absolute;top:8px;right:8px}.legmap svg{display:block;width:100%;max-height:calc(100vh - 150px);border:1px solid var(--border);border-radius:8px;user-select:none;-webkit-user-select:none}.legmap svg.drawing{cursor:crosshair;touch-action:none}.hint{font-size:.85rem;margin:6px 0 0}.editor-panel{display:flex;flex-direction:column;gap:10px;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain}.editor-panel>*{flex-shrink:0}@media(max-width:900px){.editor-panel{max-height:none;overflow-y:visible}}.ce-table{background:none;margin:0}.ce-table th,.ce-table td{padding:1px 4px;border:0;vertical-align:middle}.ce-head{font-size:1.15rem;font-weight:600;color:var(--text)}.ce-side,.ce-cell{text-align:center;width:26px}.ce-desc{font-size:.85rem}.editor.compact .ce-desc{display:none}.editor.compact .editor-panel{max-width:260px}button.plus{width:22px;height:22px;padding:0;line-height:1}button.plus.active{outline:2px solid orange;outline-offset:1px}.level{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 6px}button.ceap-line{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--border);font-size:.9rem}.conclusion{white-space:pre-wrap;font:inherit;font-size:.85rem;margin:6px 0 0}.popup-menu{position:fixed;z-index:100;min-width:200px;max-height:calc(100vh - 8px);overflow-y:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 24px #0003;padding:4px 0;display:flex;flex-direction:column}.popup-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0;width:100%}.menu-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;white-space:nowrap;background:none;color:var(--text);border-radius:0;padding:5px 12px}.menu-item:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.menu-check{display:inline-block;width:1em}.menu-code{display:inline-block;min-width:3.2em;color:var(--muted)}.menu-group{font-weight:700;font-size:1.05rem;padding:6px 12px 2px}.menu-header{background:none;margin:0;font-size:.85rem}.menu-header th,.menu-header td{padding:2px 10px;border:0;vertical-align:top}.menu-header td{max-width:280px}@keyframes blink{0%{opacity:.3}to{opacity:1}}.blink{animation:blink .4s ease-in-out infinite alternate}select.lang{padding:2px 4px;font-size:.85rem}.hero h1{font-size:2rem;margin:0}.hero .lead{font-size:1.1rem;margin:0}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.features .card,.features h2,.features p{margin:0}a.button{display:inline-block;padding:7px 14px;border-radius:6px;background:var(--accent);color:#fff}a.button:hover{text-decoration:none;filter:brightness(1.08)}.date-input{position:relative;display:inline-flex;align-items:center;gap:4px}.date-input input{width:9.5em}button.date-button{background:none;padding:4px;line-height:1}.calendar{position:absolute;top:calc(100% + 4px);left:0;z-index:100;width:260px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0003;padding:8px;display:flex;flex-direction:column;gap:6px}.calendar-head{display:flex;align-items:center;gap:4px}.calendar-head select{flex:1;min-width:0;padding:2px}.calendar-head button{font-size:1.2rem;padding:0 6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.calendar-weekday{font-size:.75rem;color:var(--muted)}button.calendar-day{background:none;color:var(--text);padding:4px 0;border-radius:4px}button.calendar-day:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}button.calendar-day.today{outline:1px solid var(--accent)}button.calendar-day.selected{background:var(--accent);color:#fff}button.theme{background:none;color:var(--text);padding:2px 6px;font-size:1rem;line-height:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(560px,100%);margin:0}.modal h2,.modal p{margin:0}.share-link{flex-wrap:nowrap}button.menu-button{background:none;color:var(--text);padding:2px 8px;font-size:1.3rem;line-height:1}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#00000059}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(300px,85vw);overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-4px 0 16px #0003;display:flex;flex-direction:column;padding:12px 0;animation:drawer-in .15s ease-out}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.drawer hr{width:100%;border:0;border-top:1px solid var(--border);margin:8px 0}.drawer-top{justify-content:space-between;flex-wrap:nowrap;padding:0 16px 8px}button.drawer-close{color:var(--text);font-size:1.1rem}.drawer>a,button.drawer-item{display:block;padding:9px 16px;color:var(--text);text-align:left;border-radius:0}.drawer>a:hover,button.drawer-item:hover,label.drawer-setting:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);text-decoration:none}button.theme:hover{filter:none;text-decoration:none}.drawer>a.active{color:var(--accent);font-weight:600}.drawer-setting{flex-direction:row;align-items:center;justify-content:space-between;padding:6px 16px;font-size:1rem}.theme-label{font-size:.9rem;margin-left:6px}.share-dialog{max-height:calc(100vh - 32px);overflow-y:auto}.share-dialog h3{margin:8px 0 0;font-size:1rem}.share-preview{width:100%;height:auto;border:1px solid var(--border);border-radius:6px;background:#fff}
