:root{--ink:#1e2430;--ink-2:#4a5364;--ink-3:#8a93a3;--paper:#f4f3ef;--panel:#fff;--line:#e2e0d9;--primary:#2b4c7e;--primary-deep:#1f3a64;--accent:#e8a33d;--danger:#b4433a;--canvas-gray:#7a7d82;--radius:8px;--font:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--font);background:var(--paper);color:var(--ink);flex-direction:column;font-size:14px;line-height:1.6;display:flex;overflow:hidden}.app-header{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:32px;height:56px;padding:0 24px;display:flex}.wordmark{letter-spacing:.14em;color:var(--primary);font-size:15px;font-weight:800}.wordmark-sub{letter-spacing:.05em;color:var(--ink-3);margin-left:12px;font-size:12px;font-weight:400}.app-nav{gap:4px;height:100%;display:flex}.nav-tab{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 16px;font-size:14px;transition:color .15s ease-out}.nav-tab:hover{color:var(--ink)}.nav-tab.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.header-meta{color:var(--ink-3);margin-left:auto;font-size:12px}#app{flex:1;position:relative;overflow:hidden}.view{height:100%;display:none}.view.is-active{display:block}.btn{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:8px 18px;transition:background .15s ease-out,border-color .15s ease-out}.btn-primary{background:var(--primary);color:#fff;font-weight:600}.btn-primary:hover{background:var(--primary-deep)}.btn-ghost{border-color:var(--line);color:var(--ink-2);background:0 0}.btn-ghost:hover{border-color:var(--ink-3);color:var(--ink)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-wide{width:100%}.btn-row{gap:8px;display:flex}.btn-row .btn{flex:1}.import-stage{place-items:center;height:100%;padding:40px;display:grid}.drop-zone{border:2px dashed var(--ink-3);text-align:center;cursor:pointer;border-radius:16px;width:min(560px,90%);padding:72px 40px;transition:border-color .2s ease-out,background .2s ease-out}.drop-zone:hover,.drop-zone.is-dragover{border-color:var(--primary);background:#2b4c7e0a}.drop-icon{color:var(--primary);margin-bottom:12px;font-size:40px}.drop-title{font-size:18px;font-weight:600}.drop-hint{color:var(--ink-3);margin-top:6px;font-size:13px}.editor-stage{grid-template-columns:280px 1fr;height:100%;display:grid}.tool-panel{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:24px;padding:24px 20px;display:flex;overflow-y:auto}.panel-title{font-size:16px;font-weight:700}.panel-hint{color:var(--ink-3);font-size:12px}.tool-group{flex-direction:column;gap:10px;display:flex}.tool-label{color:var(--ink-2);justify-content:space-between;font-size:13px;font-weight:600;display:flex}.tool-label span{color:var(--primary);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.tool-actions{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding-top:16px;display:flex}.tool-actions .btn-primary{flex:1}.canvas-wrap{background:var(--canvas-gray);position:relative;overflow:hidden}#editorCanvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}#editorCanvas.is-dragging{cursor:grabbing}.guide-overlay{pointer-events:none;opacity:.85;filter:drop-shadow(0 0 2px #fff9);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.region-stage{flex-direction:column;height:100%;display:flex;overflow:hidden}.region-header{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:14px 24px;display:flex}.region-header-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.check-line{color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.check-line input{accent-color:var(--primary)}.region-scroll{flex:1;overflow-y:auto}.region-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;gap:20px;padding:24px;display:grid}.level-tabs{background:var(--paper);border:1px solid var(--line);border-radius:99px;gap:2px;padding:3px;display:flex}.level-tab{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:99px;padding:4px 18px;font-size:13px;transition:background .15s ease-out,color .15s ease-out}.level-tab:hover{color:var(--ink)}.level-tab.is-active{background:var(--primary);color:#fff;font-weight:600}.archetype-section{padding:0 24px 32px}.archetype-section .panel-hint{margin:6px 0 14px}.archetype-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.archetype-chip{font:inherit;background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:10px;padding:10px 12px;transition:border-color .15s ease-out;position:relative}.archetype-chip:hover{border-color:var(--primary)}.archetype-chip.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#2b4c7e0d}.archetype-name{font-size:13px;font-weight:700;display:block}.archetype-en{color:var(--ink-3);margin-top:2px;font-size:11px;display:block}.archetype-pop{z-index:30;background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:12px;width:240px;padding:12px;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #1e24302e}.archetype-chip:hover .archetype-pop{display:block}.archetype-pop-title{margin-bottom:8px;font-size:13px;font-weight:700}.archetype-pop img{background:var(--canvas-gray);border-radius:8px;width:100%;margin-bottom:8px}.archetype-pop-nophoto{background:var(--paper);border:1px dashed var(--line);text-align:center;color:var(--ink-3);border-radius:8px;margin-bottom:8px;padding:20px 0;font-size:12px}.archetype-pop p{color:var(--ink-2);font-size:12px}.region-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.region-card-head{border-bottom:1px solid var(--line);align-items:center;padding:10px 14px;display:flex}.region-name{font-size:14px;font-weight:700}.region-meaning{color:var(--ink-3);margin-left:8px;font-size:12px}.region-card-head .btn{margin-left:auto;padding:4px 10px;font-size:12px}.region-card-body{background:var(--canvas-gray);justify-content:center;align-items:center;min-height:180px;display:flex;position:relative}.region-card-body canvas{max-width:100%;display:block}.region-pair{display:flex}.region-pair>div{flex:1;position:relative}.region-pair>div+div{border-left:1px solid var(--line)}.region-pair-label{color:#fff;pointer-events:none;background:#1e24308c;border-radius:99px;padding:1px 8px;font-size:11px;position:absolute;top:6px;left:8px}.landmark-guide{flex-direction:column;gap:8px;display:flex}.landmark-step{color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--radius);padding:8px 12px;font-size:13px;transition:all .15s ease-out}.landmark-step.is-next{color:var(--primary);border-color:var(--primary);background:#2b4c7e0d;font-weight:600}.landmark-step.is-done{color:var(--ink-2);border-style:solid;border-color:#2b4c7e4d;-webkit-text-decoration:line-through #2b4c7e66;text-decoration:line-through #2b4c7e66}.mask-preset-bar{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.mask-preset-btn{font:inherit;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:99px;padding:3px 10px;font-size:11px;transition:all .12s ease-out}.mask-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.mask-preset-btn.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.save-stage{place-items:start center;height:100%;padding:40px 24px;display:grid;overflow-y:auto}.save-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:20px;width:min(720px,100%);padding:32px;display:flex}.save-preview{gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.save-preview img{border:1px solid var(--line);border-radius:8px;height:120px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field-full{grid-column:1/-1}.form-field span{color:var(--ink-2);font-size:13px;font-weight:600}.form-field input,.form-field textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fdfdfb;padding:8px 12px}.form-field input:focus,.form-field textarea:focus{border-color:var(--primary);outline:2px solid #2b4c7e59}.tag-list{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.tag-chip{color:#8a5c10;cursor:pointer;background:#e8a33d26;border:1px solid #e8a33d80;border-radius:99px;padding:3px 10px;font-size:12px}.tag-chip:hover{background:#e8a33d4d}.library-toolbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:16px 24px;display:flex}#librarySearch{font:inherit;border:1px solid var(--line);background:#fdfdfb;border-radius:99px;flex:1;max-width:420px;padding:8px 14px}#librarySearch:focus{border-color:var(--primary);outline:2px solid #2b4c7e59}.library-count{color:var(--ink-3);font-size:13px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:20px;height:calc(100% - 69px);padding:24px;display:grid;overflow-y:auto}.case-card{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;transition:border-color .15s ease-out,transform .15s ease-out;overflow:hidden}.case-card:hover{border-color:var(--primary);transform:translateY(-2px)}.case-card img{aspect-ratio:4/5;object-fit:cover;background:var(--canvas-gray);width:100%;display:block}.case-card-body{padding:12px 14px}.case-card-name{font-weight:700}.case-card-id{color:var(--ink-3);font-variant-numeric:tabular-nums;word-break:break-all;margin-top:2px;font-size:11px}.case-card-tags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.case-card-tags .tag-chip{cursor:inherit;padding:1px 8px}.library-empty{text-align:center;height:60%;color:var(--ink-2);place-items:center;font-size:16px;display:grid}.detail-header{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:14px 24px;display:flex}.detail-title{font-size:16px;font-weight:700}.detail-header .btn-danger{margin-left:auto}.detail-body{flex-direction:column;gap:24px;height:calc(100% - 61px);padding:24px;display:flex;overflow-y:auto}.detail-section-title{color:var(--primary);border-left:3px solid var(--primary);margin-bottom:12px;padding-left:10px;font-size:14px;font-weight:700}.detail-notes{background:var(--panel);border:1px solid var(--line);white-space:pre-wrap;color:var(--ink-2);border-radius:12px;padding:16px 20px}.region-section{border-bottom:1px solid var(--line);padding:28px 24px 24px}.region-section-title{color:var(--primary);margin-bottom:16px;font-size:20px;font-weight:800}.region-section-row{grid-template-columns:minmax(260px,420px) 1fr;align-items:start;gap:28px;display:grid}.region-fig-inner{background:var(--canvas-gray);border-radius:10px;overflow:hidden}.region-fig-inner canvas{width:100%;height:auto;display:block}.region-fig-inner .region-pair canvas{width:100%}.region-annotate{flex-direction:column;gap:12px;max-width:560px;display:flex}.anno-slider{grid-template-columns:150px 1fr 28px;align-items:center;gap:12px;display:grid}.anno-label{color:var(--ink-2);font-size:13px}.anno-val{font-variant-numeric:tabular-nums;color:var(--primary);text-align:right;font-weight:700}.anno-field{align-items:center;gap:10px;display:flex}.anno-field-col{flex-direction:column;align-items:stretch;gap:6px}.anno-field input[type=text]{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fdfdfb;flex:1;padding:7px 12px}.anno-field input[type=text]:focus{border-color:var(--primary);outline:2px solid #2b4c7e59}.anno-tag{color:#8a5c10;background:#e8a33d2e;border:1px solid #e8a33d80;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600}.anno-checks{gap:18px;display:flex}.anno-summary{color:var(--ink-2);border-top:1px solid var(--line);padding:8px 14px;font-size:12px}@media (width<=900px){.region-section-row{grid-template-columns:1fr}}#regionGrid{padding:0;display:block}#regionGrid .region-section{max-width:1280px;padding:36px 40px}#regionGrid .region-section-row{grid-template-columns:minmax(300px,480px) 1fr;gap:40px}#regionGrid .region-annotate{max-width:640px}#regionGrid{flex-direction:column;align-items:center;gap:28px;padding:28px 24px;display:flex}#regionGrid .region-section{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(1080px,100%);padding:28px 36px}.cursor-tip{z-index:40;color:#fff;pointer-events:none;white-space:nowrap;background:#1e2430e0;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:600;position:absolute;box-shadow:0 4px 14px #00000040}.nose-tune{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.nose-tune input[type=range]{width:100px;accent-color:var(--primary)}.nose-tune span{font-variant-numeric:tabular-nums;color:var(--primary);font-weight:600}.archetype-family-header{color:var(--primary);border-left:3px solid var(--primary);grid-column:1/-1;margin-top:10px;padding-left:10px;font-size:15px;font-weight:800}.archetype-group{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}#archetypeGrid{display:block}#archetypeGrid .archetype-group{margin-bottom:14px}.archetype-lib{flex-direction:column;gap:28px;height:calc(100% - 61px);padding:24px;display:flex;overflow-y:auto}.arch-lib-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.arch-lib-card{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;gap:14px;padding:14px;transition:border-color .15s ease-out,transform .15s ease-out;display:flex;overflow:hidden}.arch-lib-card:hover{border-color:var(--primary);transform:translateY(-2px)}.arch-lib-card img{object-fit:cover;background:var(--canvas-gray);border-radius:8px;flex-shrink:0;width:84px;height:84px}.arch-lib-nophoto{background:var(--paper);border:1px dashed var(--line);width:84px;height:84px;color:var(--ink-3);text-align:center;border-radius:8px;flex-shrink:0;place-items:center;padding:4px;font-size:11px;display:grid}.arch-lib-name{font-size:14px;font-weight:700}.arch-lib-en{color:var(--ink-3);font-size:11px}.arch-lib-intro{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;display:-webkit-box;overflow:hidden}.arch-detail-wrap{grid-template-columns:300px 1fr;gap:28px;max-width:1080px;display:grid}.arch-detail-side img{border:1px solid var(--line);background:var(--canvas-gray);border-radius:12px;width:100%}.arch-detail-side .arch-lib-nophoto{width:100%;height:200px;font-size:13px}.arch-detail-meta{color:var(--ink-2);flex-direction:column;gap:6px;margin-top:14px;font-size:13px;display:flex}@media (width<=800px){.arch-detail-wrap{grid-template-columns:1fr}}.radio-row{gap:16px;display:flex}.radio-row label{color:var(--ink-2);cursor:pointer;align-items:center;gap:5px;font-size:14px;display:flex}.radio-row input{accent-color:var(--primary)}.input-with-btn{gap:8px;display:flex}.input-with-btn input{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fdfdfb;flex:1;padding:8px 12px}.input-with-btn input:focus{border-color:var(--primary);outline:2px solid #2b4c7e59}.input-with-btn .btn{white-space:nowrap;flex-shrink:0}.preset-tags{flex-wrap:wrap;gap:14px;margin-bottom:8px;display:flex}.rel-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.import-stage{padding:0}.home-wrap{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;width:min(1120px,100%);padding:40px;display:grid}.home-title{color:var(--primary);letter-spacing:.02em;font-size:34px;font-weight:800;line-height:1.25}.home-sub{color:var(--ink-2);max-width:46ch;margin-top:12px}.home-steps{counter-reset:step;flex-direction:column;gap:14px;margin-top:28px;list-style:none;display:flex}.home-steps li{counter-increment:step;align-items:baseline;gap:12px;display:flex}.home-steps li:before{content:counter(step);background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid;transform:translateY(4px)}.home-steps b{font-size:15px}.home-steps span{color:var(--ink-3);font-size:12.5px}.home-wrap .drop-zone{width:100%;padding:64px 32px}.recent-strip{margin-top:32px}.recent-row{gap:12px;margin-top:10px;display:flex}.recent-item{cursor:pointer;text-align:center;width:76px;color:var(--ink-2);font-size:12px}.recent-item img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:76px;height:95px;margin-bottom:4px;display:block}.recent-item:hover img{border-color:var(--primary)}@media (width<=860px){.home-wrap{grid-template-columns:1fr;gap:24px}}.book-lib{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;gap:18px;height:calc(100% - 61px);padding:24px;display:grid;overflow-y:auto}.book-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:16px;padding:16px;display:flex}.book-card img{object-fit:cover;background:var(--canvas-gray);border-radius:8px;flex-shrink:0;width:90px;height:120px}.book-name{font-size:15px;font-weight:700}.book-en{color:var(--ink-3);margin-top:2px;font-size:11px}.book-desc{color:var(--ink-2);margin-top:8px;font-size:12.5px}.id-display{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;color:var(--primary);letter-spacing:.04em;padding:8px 12px;font-weight:700}.detail-overview{background:var(--panel);border:1px solid var(--line);border-radius:16px;grid-template-columns:280px 1fr;gap:28px;max-width:1080px;padding:24px 28px;display:grid}.detail-overview-photo{border:1px solid var(--line);background:var(--canvas-gray);border-radius:12px;width:100%}.detail-overview-name{color:var(--ink);margin-bottom:14px;font-size:22px;font-weight:800}.detail-info-row{border-bottom:1px dashed var(--line);grid-template-columns:96px 1fr;gap:12px;padding:7px 0;font-size:13.5px;display:grid}.detail-info-row:last-child{border-bottom:none}.detail-info-key{color:var(--ink-3)}.detail-info-val{color:var(--ink);white-space:pre-wrap}@media (width<=720px){.detail-overview{grid-template-columns:1fr}}.region-card-clickable{cursor:zoom-in}.region-modal{z-index:100;background:#1418208c;place-items:center;padding:32px;display:none;position:fixed;inset:0}.region-modal.is-open{display:grid}.region-modal-card{background:var(--panel);border-radius:16px;max-width:min(960px,95vw);max-height:90vh;padding:24px;position:relative;overflow:auto}.region-modal-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:10px;right:12px}.region-modal-close:hover{color:var(--ink)}.region-modal-body{grid-template-columns:minmax(260px,1fr) minmax(220px,320px);align-items:start;gap:20px;display:grid}.region-modal-body img{background:var(--canvas-gray);border-radius:10px;width:100%}.region-modal-side h3{color:var(--primary);margin-bottom:12px;font-size:17px}@media (width<=720px){.region-modal-body{grid-template-columns:1fr}}.anno-lines{flex-direction:column;gap:6px;display:flex}.anno-line{color:var(--ink);background:var(--paper);border-radius:6px;padding:6px 10px;font-size:13.5px}.book-card-clickable{cursor:pointer;transition:border-color .15s ease-out,transform .15s ease-out}.book-card-clickable:hover{border-color:var(--primary);transform:translateY(-2px)}.book-reader{grid-template-columns:300px 1fr;height:calc(100% - 61px);display:grid;overflow:hidden}.book-toc{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:2px;padding:12px;display:flex;overflow-y:auto}.book-toc-item{font:inherit;text-align:left;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13px;transition:background .12s ease-out}.book-toc-item:hover{background:var(--paper);color:var(--ink)}.book-toc-item.is-active{color:var(--primary);background:#2b4c7e14;font-weight:600}.book-content{background:#fdfdfb;padding:36px 48px;overflow-y:auto}.md-body{max-width:760px;color:var(--ink);font-size:15px;line-height:1.9}.md-body h1,.md-body h2,.md-body h3{color:var(--primary);margin:1.4em 0 .6em;line-height:1.4}.md-body h1{font-size:24px}.md-body h2{font-size:20px}.md-body h3{font-size:17px}.md-body p{margin:.8em 0}.md-body ul,.md-body ol{margin:.8em 0;padding-left:1.6em}.md-body blockquote{border-left:3px solid var(--accent);color:var(--ink-2);background:#e8a33d0f;margin:1em 0;padding:4px 16px}.md-body img{border-radius:8px;max-width:100%}.md-body table{border-collapse:collapse;margin:1em 0}.md-body th,.md-body td{border:1px solid var(--line);padding:6px 12px;font-size:13.5px}.md-body hr{border:none;border-top:1px solid var(--line);margin:2em 0}@media (width<=800px){.book-reader{grid-template-columns:1fr}.book-toc{display:none}}.course-text{max-height:420px;overflow-y:auto}.archetype-pop-tag{color:var(--ink-3);border:1px solid var(--line);vertical-align:1px;border-radius:99px;margin-left:8px;padding:1px 8px;font-size:10px;font-weight:400}.arch-lib-card{position:relative}.arch-photo-ops{gap:6px;display:none;position:absolute;top:8px;right:8px}.arch-lib-card:hover .arch-photo-ops{display:flex}.arch-photo-btn{border:1px solid var(--line);background:var(--panel);width:26px;height:26px;color:var(--ink-2);cursor:pointer;border-radius:50%;place-items:center;font-size:13px;display:grid;box-shadow:0 2px 8px #1e24301f}.arch-photo-btn:hover{border-color:var(--primary);color:var(--primary)}.arch-photo-ops-detail{gap:8px;margin-top:12px;display:flex}#detailBody .region-card-body{background:0 0;min-height:0;display:block}#detailBody .region-card-body img{width:100%;height:auto;display:block}.filter-layers{background:var(--panel);border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 24px 0;display:flex}.filter-layer{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.filter-layer-name{color:var(--ink-3);flex-shrink:0;width:56px;font-size:12px}.filter-chip{font:inherit;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:99px;padding:3px 12px;font-size:12px;transition:all .12s ease-out}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.filter-emotion{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:flex}.filter-emotion select,.filter-emotion input{font:inherit;border:1px solid var(--line);background:#fdfdfb;border-radius:6px;padding:3px 8px;font-size:12px}.filter-emotion input{width:56px}.region-result-head{color:var(--ink-2);padding:16px 24px 0;font-size:13px}.region-result-card{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;transition:border-color .15s ease-out,transform .15s ease-out;overflow:hidden}.region-result-card:hover{border-color:var(--primary);transform:translateY(-2px)}.region-result-card img{background:var(--paper);width:100%;display:block}.region-result-meta{color:var(--ink-2);padding:8px 12px;font-size:12px}.region-result-meta b{color:var(--ink)}.edit-modal{z-index:100;background:#1418208c;place-items:center;padding:24px;display:none;position:fixed;inset:0}.edit-modal.is-open{display:grid}.edit-modal-card{background:var(--panel);border-radius:16px;width:min(640px,95vw);max-height:90vh;padding:28px 32px;position:relative;overflow-y:auto}.edit-modal-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:12px;right:14px}.edit-modal-close:hover{color:var(--ink)}.btn-edit-case{vertical-align:3px;margin-left:14px;padding:4px 12px;font-size:12px}.metric-rule{border:1px solid var(--line);color:var(--ink-3);background:0 0;border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;transition:all .12s ease-out;display:inline-flex}.metric-rule.is-on{border-color:var(--primary);color:var(--ink);background:#2b4c7e0d}.metric-enable{cursor:pointer;white-space:nowrap;align-items:center;gap:3px;display:flex}.metric-enable input{accent-color:var(--primary)}.metric-op{font:inherit;border:1px solid var(--line);width:24px;color:var(--primary);cursor:pointer;background:#fdfdfb;border-radius:6px;padding:1px 0;font-weight:700}.metric-op:hover{border-color:var(--primary)}.metric-num{font:inherit;border:1px solid var(--line);background:#fdfdfb;border-radius:6px;width:44px;padding:2px 4px}.metric-check-hint{color:var(--ink-3);font-size:11px}.auth-modal{z-index:200;background:#14182099;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-modal[hidden]{display:none}.auth-card{background:var(--panel);border-radius:16px;flex-direction:column;gap:16px;width:min(420px,95vw);padding:32px 36px;display:flex}.auth-card .form-field input{font:inherit;border:1px solid var(--line);border-radius:var(--radius);background:#fdfdfb;width:100%;padding:9px 12px}.auth-card .form-field input:focus{border-color:var(--primary);outline:2px solid #2b4c7e59}.auth-error{color:var(--danger);margin:0;font-size:13px}.btn-user{margin-left:10px;padding:4px 12px;font-size:12px}#headerMeta{align-items:center;display:flex}.share-line{color:var(--ink-2);font-size:13px}.tag-from{color:#8a5c10;background:#e8a33d26;border-color:#e8a33d80}.admin-card{width:min(560px,95vw);max-height:85vh;overflow-y:auto}.admin-section{border:1px solid var(--line);border-radius:10px;padding:14px 16px}.admin-section-head{align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.admin-section-head .btn{padding:3px 10px;font-size:12px}.admin-invite-row,.admin-user-row{border-bottom:1px dashed var(--line);align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.admin-invite-row:last-child,.admin-user-row:last-child{border-bottom:none}.admin-invite-row code{letter-spacing:.08em;color:var(--primary);font-size:14px;font-weight:700}.admin-invite-row.is-used code{color:var(--ink-3);text-decoration:line-through}.admin-invite-row span,.admin-user-row span{color:var(--ink-3);flex:1;font-size:12px}.admin-copy,.admin-del-user{padding:2px 10px;font-size:12px}.admin-del-user{color:var(--danger)}.admin-badge{background:var(--primary);color:#fff;border-radius:99px;margin-left:6px;padding:1px 8px;font-size:10px}
