:root{--paper: #f7f5ef;--paper-strong: #fffef9;--ink: #1f2924;--muted: #6d766f;--line: #dddcd4;--green: #285b45;--green-dark: #194333;--green-soft: #dfe9e1;--amber: #d58b32;--amber-soft: #fae8c8;--blue: #52798a;--blue-soft: #dce9ed;--gray: #8c918d;--violet: #956b87;--danger: #9a5148;--shadow: 0 18px 55px rgba(32, 45, 38, .14);--radius: 14px;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--paper)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(213,139,50,.3);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{height:100%;display:grid;grid-template-rows:68px 1fr}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 20px;border-bottom:1px solid var(--line);background:#fffef9eb;backdrop-filter:blur(12px);position:relative;z-index:20}.brand{display:flex;flex:1 1 0;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;overflow:hidden;background:transparent;box-shadow:0 7px 17px #285b4540}.brand-mark img{display:block;width:100%;height:100%}.brand strong{display:block;font:700 18px/1.2 Georgia,Times New Roman,serif;letter-spacing:.01em}.brand>div>span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.topbar-actions{display:flex;flex:1 1 0;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.backup-actions{display:inline-flex;gap:6px}.backup-actions .button{min-height:38px;padding:8px 10px;white-space:nowrap}.map-theme-switch{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px;padding:3px;border:1px solid #d9d9d1;border-radius:11px;background:#efeee8;box-shadow:0 3px 10px #2d3a320f inset}.theme-switch-label{padding:0 7px 0 6px;color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap}.map-theme-button{min-height:28px;padding:5px 10px;border:0;border-radius:8px;color:#657069;background:transparent;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}.map-theme-button:hover{color:var(--green-dark);background:#fffef994}.map-theme-button.is-active{color:var(--green-dark);background:var(--paper-strong);box-shadow:0 1px 4px #24342b29}.vault-status{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;margin-right:6px}.button{border:1px solid transparent;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:650;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-primary{color:#fff;background:var(--green)}.button-primary:hover{background:var(--green-dark)}.button-success{color:var(--green-dark);background:var(--green-soft);border-color:#c4d6c8}.button-accent{color:#714411;background:var(--amber-soft);border-color:#efd2a2}.button-danger{color:var(--danger);background:#fff8f6;border-color:#e4c8c3}.button-danger:hover{color:#7f3932;background:#fae9e6;border-color:#d8aaa3}.button-quiet{background:var(--paper-strong);border-color:var(--line)}.button-quiet:hover{background:#f0efe8}.icon-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--paper-strong);cursor:pointer;font-size:18px}.icon-button:hover{background:#efeee7}.workspace{min-height:0;display:grid;grid-template-columns:286px minmax(0,1fr);position:relative}.sidebar{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper-strong);position:relative;z-index:8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.stats .stat-tab{min-width:0;padding:13px 6px 11px;border:0;border-bottom:3px solid transparent;text-align:center;background:var(--paper-strong);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.stats .stat-tab:hover{background:#f1f4ef}.stats .stat-tab.is-active{border-bottom-color:var(--green);background:#eaf1eb}.stats strong{display:block;font:700 20px/1 Georgia,serif;color:var(--green-dark)}.stats span{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:700}.stats .stat-tab.is-active span{color:var(--green-dark)}.list-controls{display:grid;gap:8px;padding:12px;border-bottom:1px solid #ebeae3}.list-controls input[type=search],.list-controls select{width:100%;min-height:36px;padding:7px 9px;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}.check-field{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.check-field input{accent-color:var(--green)}.flag-list{flex:1;min-height:0;overflow-y:auto;padding:8px}.flag-list-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}.flag-list-item{width:100%;display:grid;grid-template-columns:9px 1fr auto;gap:10px;align-items:start;margin:2px 0;padding:11px 10px;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer}.flag-list-item:hover{background:#f4f3ed}.flag-list-item.is-selected{border-color:#c7d5ca;background:#eef3ed}.list-status{width:8px;height:8px;margin-top:5px;border-radius:50%}.list-copy{min-width:0}.list-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;white-space:nowrap}.list-copy span{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.list-aside{display:flex;gap:4px;align-items:center}.mini-badge{padding:3px 5px;border-radius:6px;background:#ebeae4;color:var(--muted);font-size:9px;font-weight:700}.mini-badge.blocked{color:#86453e;background:#f3dcd8}.vault-warnings{max-height:120px;overflow:auto;padding:10px 12px;color:#7f433d;background:#fae9e6;border-top:1px solid #efcbc5;font-size:10px;line-height:1.5}.map-shell{min-width:0;min-height:0;position:relative;overflow:hidden;background-color:#f3f1e9;background-image:linear-gradient(rgba(50,67,58,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(50,67,58,.045) 1px,transparent 1px);background-size:28px 28px}#territoryMap{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#territoryMap.is-panning{cursor:grabbing}#territoryMap.is-dragging{cursor:move}.selection-box{position:absolute;z-index:4;border:1.5px dashed #285b45;border-radius:4px;background:#285b451f;box-shadow:0 0 0 1px #fffef9b3 inset;pointer-events:none}.selection-box[hidden],.inline-body-form[hidden]{display:none}.map-toolbar{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fffef9ed;box-shadow:0 8px 25px #2f393314;z-index:5}.map-toolbar .icon-button{width:31px;height:31px;border:0;background:transparent}.zoom-control{display:inline-flex;align-items:center;gap:2px;height:33px;padding:2px;border:1px solid #dfded7;border-radius:999px;background:#f1f0e9}.zoom-control .icon-button{width:27px;height:27px;border:1px solid #d7d7cf;border-radius:50%;background:var(--paper-strong);box-shadow:none;font-size:16px;font-weight:700;line-height:1}.zoom-control .icon-button:hover{border-color:#aeb8b1;color:var(--green-dark);background:#fff}.zoom-label{min-width:44px;padding:0 2px;color:#505b54;text-align:center;font-size:11px;font-weight:700}.toolbar-divider{width:1px;height:24px;margin:0 2px;background:var(--line)}.map-new-button{padding:8px 11px;white-space:nowrap;box-shadow:0 5px 13px #285b452e}.map-legend{position:absolute;left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fffef9e0;font-size:9px;pointer-events:none}.map-legend span{display:inline-flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-area{width:15px;height:9px;border:1px solid #cfd6cf;border-radius:3px}.legend-area.explored{background:#fffef9;box-shadow:0 0 5px #fff6cfcc}.legend-boundary{width:15px;height:8px;border-top:2px solid #52735d;border-radius:50%}.boundary-theme-legend{display:none!important}.map-shell[data-map-theme=boundary] .fog-theme-legend{display:none}.map-shell[data-map-theme=boundary] .boundary-theme-legend{display:inline-flex!important}.map-theme-boundary,#territoryMap[data-map-theme=boundary] .map-theme-fog{display:none}#territoryMap[data-map-theme=boundary] .map-theme-boundary{display:inline}.territory-reveal{fill:#fffef97a;fill-rule:evenodd;stroke:none;pointer-events:none}.fog-overlay{fill:#111815ad;fill-rule:evenodd;pointer-events:none}.unexplored-glow{fill:url(#unexploredGlow);pointer-events:none}.unexplored-link-light{stroke:#fffef961;stroke-width:24;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.72;filter:blur(8px);pointer-events:none}.territory-boundary-halo,.territory-boundary{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.territory-boundary-halo{stroke:#fffef9e6;stroke-width:7}.territory-boundary{stroke:#52735d;stroke-width:2.4;filter:drop-shadow(0 2px 2px rgba(40,91,69,.13))}.map-edge{stroke:#9da9a1;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.62}.map-edge.part_of{stroke:#95a5b0;stroke-dasharray:4 4}.map-edge.blocked_by{stroke:#b97970;stroke-dasharray:3 4}.map-edge.references{stroke:#7c6f9c;stroke-dasharray:7 3 2 3}.map-edge.broken{stroke:var(--danger);opacity:1}.map-edge.unexplored-link{stroke:#aeb9b2;stroke-width:1.5;stroke-dasharray:none;opacity:.72;filter:none}.ghost-edge{stroke:#aeb9b2;stroke-width:1.5;stroke-dasharray:none;vector-effect:non-scaling-stroke;opacity:.72;filter:none}.flag-node,.ghost-node{cursor:grab}#territoryMap.is-dragging .flag-node,#territoryMap.is-dragging .ghost-node{cursor:grabbing}.flag-node,.ghost-node,.map-edge,.ghost-edge{transition:opacity .14s ease}#territoryMap.has-selection .flag-node:not(.is-selected),#territoryMap.has-selection .ghost-node{opacity:.46}#territoryMap.has-selection .map-edge,#territoryMap.has-selection .ghost-edge{opacity:.3}.flag-node .node-halo{fill:#fffef9e0;stroke:transparent;stroke-width:7}.flag-node .selection-ring{fill:none;stroke:#173f30;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 4px rgba(25,67,51,.22))}.flag-node .node-circle{stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 4px 6px rgba(30,43,36,.18))}.flag-node.is-frontier .node-halo{stroke:#d58b3273}.flag-node.type-category .node-halo{stroke:#52798a94;stroke-dasharray:4 3}.flag-node.type-category .node-flag{font-size:15px}.flag-node.is-selected .node-halo{fill:#fffef9;stroke:#fffffff5;stroke-width:11}.flag-node.is-selected .node-circle{stroke:#173f30;stroke-width:5}.flag-node.status-open .node-circle,.status-open{fill:var(--amber);background:var(--amber)}.flag-node.status-unstarted .node-circle,.status-unstarted{fill:var(--violet);background:var(--violet)}.flag-node.status-active .node-circle,.status-active{fill:var(--green);background:var(--green)}.flag-node.status-done .node-circle,.status-done{fill:var(--blue);background:var(--blue)}.flag-node.status-dropped .node-circle,.status-dropped{fill:var(--gray);background:var(--gray)}.flag-node .node-flag{fill:#fff;font-size:16px;font-weight:800;pointer-events:none}.flag-node .node-flag-mark{pointer-events:none}.flag-node .node-flag-pole{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round}.flag-node .node-flag-banner{fill:#fff}.flag-node .node-flag-emblem{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.flag-node.status-open .node-flag-emblem{stroke:var(--amber)}.flag-node.status-unstarted .node-flag-emblem{stroke:var(--violet)}.flag-node.status-active .node-flag-emblem{stroke:var(--green)}.flag-node.status-done .node-flag-emblem{stroke:var(--blue)}.flag-node.status-dropped .node-flag-emblem{stroke:var(--gray)}.flag-node .node-label,.ghost-node .node-label{fill:var(--ink);paint-order:stroke;stroke:#f3f1e9;stroke-width:var(--map-node-label-stroke, 5px);stroke-linejoin:round;font-size:var(--map-node-label-size, 12px);font-weight:700;pointer-events:none}.flag-node .node-meta{fill:#59645e;paint-order:stroke;stroke:#fffef9e6;stroke-width:var(--map-node-meta-stroke, 3px);stroke-linejoin:round;font-size:var(--map-node-meta-size, 8px);font-weight:600;pointer-events:none}.flag-node .selected-indicator{fill:#173f30;font-size:var(--map-selected-label-size, 8px);font-weight:900;letter-spacing:.08em;pointer-events:none}.ghost-node .ghost-halo{fill:#fffef9c7;stroke:#956b8747;stroke-width:7}.ghost-node .ghost-circle{fill:var(--violet);stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 4px 6px rgba(30,43,36,.18))}.ghost-node .ghost-plus{fill:#fff;font-size:17px;font-weight:700;pointer-events:none}.ghost-node .node-label{fill:#765168;font-weight:650}.empty-map{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;z-index:4}.empty-map[hidden]{display:none}.empty-flag{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;color:var(--green);background:var(--green-soft);font-size:34px}.empty-flag img{display:block;width:48px;height:48px}.empty-map h2{margin:20px 0 7px;font:700 24px/1.2 Georgia,serif}.empty-map p{max-width:390px;margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.6}.detail-panel{container-type:inline-size;position:absolute;top:0;right:0;bottom:0;width:min(420px,42vw);overflow-y:auto;border-left:1px solid var(--line);background:var(--paper-strong);box-shadow:-16px 0 45px #222c261f;z-index:15}.detail-panel[hidden]{display:none}.detail-resize-handle{position:fixed;top:0;bottom:0;width:10px;margin-left:-5px;cursor:ew-resize;touch-action:none;z-index:2}.detail-resize-handle:after{content:"";position:absolute;inset:0 4px;background:transparent;transition:background .12s ease}.detail-resize-handle:hover:after,.detail-resize-handle:focus-visible:after,.detail-resize-handle.is-resizing:after{background:var(--green)}.detail-header{position:relative;padding:28px 24px 12px;border-bottom:1px solid #e7e5dd}.detail-header .icon-button{position:absolute;top:14px;right:14px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.detail-header h2{margin:5px 34px 4px 0;font:700 25px/1.25 Georgia,Times New Roman,serif}.detail-summary{margin:0 34px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.meta-block{position:relative;padding:11px 0;border-top:1px solid #eeece5}.identity-block{margin-top:7px;padding-top:0;border-top:0}.meta-read-view{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.meta-read-view[hidden],.inline-meta-editor[hidden],.sidebar-relation-editor[hidden]{display:none}.meta-read-content,.identity-read-view>div{min-width:0;flex:1}.compact-read-view{align-items:center}.compact-read-view>div{display:flex;align-items:center;gap:9px}.meta-label{display:block;margin-bottom:6px;color:#747b76;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.compact-read-view .meta-label{display:inline;margin:0}.field-edit-button{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:7px;color:#78817b;background:transparent;font-size:15px;cursor:pointer;opacity:0;transition:opacity .12s ease,border-color .12s ease,background .12s ease}.meta-block:hover .field-edit-button,.meta-block:focus-within .field-edit-button,.detail-section-heading:hover .field-edit-button,.field-edit-button:focus-visible{opacity:1}.field-edit-button:hover{border-color:#d9ddd8;background:#f3f5f1}.type-badge{display:inline-flex;align-items:center;min-height:27px;padding:4px 10px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:12px;font-weight:750}.inline-meta-editor{display:grid;gap:9px;padding:10px;border:1px solid #e1e2dc;border-radius:10px;background:#f8f8f4}.inline-meta-editor>input,.detail-field input,.detail-field select,.type-manager input,.tag-add-row input,.sidebar-relation-row input,.sidebar-relation-row select{min-width:0;width:100%;padding:8px 9px;border:1px solid #d7d7cf;border-radius:8px;color:var(--ink);background:#fff;font-size:13px}.identity-title-input{font:700 18px/1.25 Georgia,Times New Roman,serif}.detail-field{display:grid;min-width:0;gap:6px}.detail-field>span,.detail-field legend{color:#5f6963;font-size:12px;font-weight:800;letter-spacing:.04em}.detail-choice-field{margin:0;padding:0;border:0}.star-display,.mini-stars,.star-choices{display:inline-flex;align-items:center;gap:0;white-space:nowrap}.star-display span,.mini-stars span{color:#c9ccc8;line-height:1}.star-display span{font-size:17px}.mini-stars span{font-size:10px}.star-display .is-filled,.mini-stars .is-filled{color:#e2a52f}.star-choices button{padding:0 1px;border:0;color:#c7c9c5;background:transparent;font-size:22px;line-height:1;cursor:pointer}.star-choices button:hover,.star-choices button[aria-pressed=true]{color:#d89521}.planning-read-values{display:grid;grid-template-columns:max-content max-content;align-items:center;gap:7px 12px}.planning-read-values .star-display{grid-column:1 / -1}.planning-divider{display:none}.cost-read-value{display:inline-flex;align-items:baseline;gap:4px;color:#3f4943;font-size:12px}.cost-read-value small{color:var(--muted);font-size:10px}.cost-edit-row{display:flex;flex-wrap:wrap;gap:14px}.cost-edit-row .detail-field{flex:0 1 auto}.compact-choices{display:inline-flex;gap:3px}.compact-choices button{min-width:46px;min-height:31px;padding:5px 9px;border:1px solid #d7d7cf;border-radius:7px;color:#59635d;background:#fff;font-size:11px;font-weight:750;cursor:pointer}.compact-choices button[aria-pressed=true]{border-color:var(--amber);color:#68400f;background:var(--amber-soft)}.type-manager{min-width:0;border:1px solid #deddd6;border-radius:8px;background:#f8f7f2}.type-manager summary{padding:9px 10px;color:var(--green-dark);font-size:12px;font-weight:750;cursor:pointer}.type-manager-list{display:grid;gap:5px;max-height:190px;padding:0 8px 8px;overflow-y:auto}.type-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:4px}.type-manager-row input,.type-add-row input{height:34px;padding:7px 8px}.type-manager-row .text-button{padding:5px}.type-remove-button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;color:#8a5c55;background:transparent;cursor:pointer}.type-remove-button:hover:not(:disabled){background:#f7dfdb}.type-remove-button:disabled{color:#b8bab6;cursor:not-allowed}.type-add-row,.tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.type-add-row{padding:0 8px 8px}.type-add-row .button{height:34px}.type-add-row .button,.tag-add-row .button{padding:7px 10px;font-size:12px}.tag-editor{display:flex;flex-wrap:wrap;gap:5px}.tag-editor-row{display:flex;align-items:center;overflow:hidden;border:1px solid #bfd1c5;border-radius:999px;background:#edf4ef}.tag-editor-row .detail-tag-input{width:calc(var(--tag-length, 8) * .6em + 16px);min-width:32px;max-width:180px;padding:5px 1px 5px 8px;border:0;outline:0;color:var(--green-dark);background:transparent;font-size:12px;font-weight:750}@supports (field-sizing: content){.tag-editor-row .detail-tag-input{width:auto;field-sizing:content}}.tag-editor-row button{width:27px;height:27px;padding:0;border:0;color:#65736b;background:transparent;cursor:pointer}.inline-editor-footer,.relation-editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px}.inline-editor-footer span,.relation-editor-footer span{flex:1;color:var(--muted);font-size:11px;line-height:1.4}.inline-editor-footer .button,.relation-editor-footer .button{padding:7px 10px;font-size:11px}.tag-badges{display:flex;flex-wrap:wrap;gap:5px;margin:0}.tag-badge{display:inline-flex;width:auto;max-width:100%;padding:4px 8px;overflow:hidden;border:1px solid #c7d7cc;border-radius:999px;color:var(--green-dark);background:#eef5f0;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.source-read-value{min-width:0;color:#3f4943;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.source-read-value a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:2px}.meta-empty-value{color:#929792;font-size:12px;font-style:italic}.detail-context-badges{display:flex;flex-wrap:wrap;gap:5px}.context-badge{padding:3px 7px;border-radius:999px;color:#7e581f;background:#fff1d8;font-size:11px;font-weight:750}.context-badge.blocked{color:#88483f;background:#f8e3df}.detail-actions{display:grid;gap:12px;padding:15px 24px;border-bottom:1px solid #e7e5dd}.action-group{display:grid;gap:6px}.action-group+.action-group{padding-top:11px;border-top:1px solid #e8e6de}.action-group-label{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.action-hint{color:var(--muted);font-size:11px;line-height:1.45}.action-group>div{display:flex;flex-wrap:wrap;gap:7px}.detail-actions .button{padding:8px 11px;font-size:12px}.lifecycle-actions>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.lifecycle-actions .button{display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:6px 2px;overflow:hidden;border-radius:8px;font-size:12px;line-height:1.1;white-space:nowrap}.lifecycle-actions .button span{font-weight:750}.lifecycle-actions .button small{color:inherit;font-size:9px;font-weight:650;letter-spacing:-.06em;opacity:.72}.lifecycle-actions .button[aria-pressed=true]{position:relative;z-index:1;opacity:1;color:#fff;border-color:var(--green-dark);background:var(--green);cursor:default}.lifecycle-actions .button[aria-pressed=true] small{opacity:.86}.detail-section{padding:18px 24px;border-bottom:1px solid #e7e5dd}.detail-section h3{margin:0 0 11px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.detail-section-heading h3{margin:0}.text-button{border:0;color:var(--green);background:transparent;font-size:10px;font-weight:700;cursor:pointer}.detail-panel .text-button{font-size:12px}.inline-body-form{display:grid;gap:9px}.inline-body-form textarea{width:100%;min-height:190px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font:13px/1.6 SFMono-Regular,Consolas,monospace}.inline-body-form>div{display:flex;justify-content:flex-end;gap:7px}.inline-body-form .button{padding:8px 11px;font-size:12px}.markdown-body{color:#303933;font-size:14px;line-height:1.7}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1em 0 .4em;font-family:Georgia,serif;line-height:1.3}.markdown-body h1{font-size:20px}.markdown-body h2{font-size:17px}.markdown-body h3{font-size:14px}.markdown-body pre{overflow-x:auto;padding:12px;border-radius:9px;background:#272f2b;color:#eff4f0;font-size:11px}.markdown-body code{padding:1px 4px;border-radius:4px;background:#ecebe5;font-family:SFMono-Regular,Consolas,monospace;font-size:.9em}.markdown-body pre code{padding:0;background:none}.markdown-body ul{padding-left:20px}.markdown-body .task-list{display:grid;gap:5px;padding-left:0;list-style:none}.markdown-body .task-list-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;align-items:start}.markdown-body .task-list-item input{width:15px;height:15px;margin:4px 0 0;accent-color:var(--green);opacity:1}.markdown-body .task-list-item.is-complete>span{color:#68736c}.markdown-empty{color:#9a9d99;font-style:italic}.relation-list,.next-list{display:grid;gap:10px}.sidebar-relation-editor{display:grid;gap:8px;padding:10px;border:1px solid #e1e2dc;border-radius:10px;background:#f8f8f4}.relation-editor-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:750}.sidebar-relation-rows{display:grid;gap:7px}.sidebar-relation-row{display:grid;grid-template-columns:minmax(0,1fr) 108px 26px;align-items:center;gap:5px}.sidebar-relation-row .next-remove-button{width:26px;height:26px}.relation-combobox{position:relative;min-width:0}.relation-combobox .sidebar-relation-target{padding-right:29px}.relation-target-toggle{position:absolute;top:2px;right:2px;width:27px;height:27px;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.relation-target-toggle:hover{color:var(--green-dark);background:#eef2ed}.relation-target-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:210px;overflow-y:auto;border:1px solid #d6d9d4;border-radius:9px;background:#fff;box-shadow:0 12px 28px #23302929;z-index:30}.relation-target-menu[hidden]{display:none}.relation-target-option{display:grid;width:100%;gap:2px;padding:8px 9px;border:0;border-bottom:1px solid #efeee9;background:transparent;text-align:left;cursor:pointer}.relation-target-option:last-child{border-bottom:0}.relation-target-option:hover,.relation-target-option:focus-visible{background:#eef4ef}.relation-target-option strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.relation-target-option span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.relation-target-empty{padding:12px 9px;color:var(--muted);font-size:11px;text-align:center}.incoming-relation-list{margin-top:13px;padding-top:13px;border-top:1px solid #e5e3dc}.quick-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:11px}.quick-add-form input{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;font-size:12px}.quick-add-form .button{padding:8px 11px;font-size:12px}.relation-group{display:grid;gap:6px}.relation-group+.relation-group{padding-top:9px;border-top:1px solid #e5e3dc}.relation-group-title{margin:0;color:#6c756f;font-size:12px;font-weight:800;letter-spacing:.05em}.relation-item,.next-item{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:8px;background:#f3f2ec;font-size:12px}.relation-item button,.next-open-button{min-width:0;padding:0;overflow:hidden;border:0;color:var(--green-dark);background:transparent;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.relation-kind{color:var(--muted);font-size:11px;white-space:nowrap}.next-open-button{flex:1}.next-kind-badge{flex:0 0 auto;padding:3px 7px;border-radius:999px;color:#fff;background:var(--violet);font-size:10px;font-weight:800}.next-kind-badge.is-draft{color:#75536a;border:1px solid #cdb7c6;background:#f4edf2}.next-remove-button{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:1px solid #ead9d5;border-radius:6px;color:#995a50;background:#fff9f7;cursor:pointer}.next-remove-button:hover{border-color:#e4c2bc;background:#f7dfdb}.empty-small{color:#929792;font-size:12px}.detail-meta dl{display:grid;grid-template-columns:72px 1fr;gap:8px;margin:0;font-size:12px}.detail-meta dt{color:var(--muted)}.detail-meta dd{margin:0;overflow-wrap:anywhere}.toast-region{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:100}.toast{max-width:340px;padding:11px 13px;border-radius:10px;color:#fff;background:#263d32;box-shadow:var(--shadow);font-size:11px;animation:toast-in .16s ease-out}.toast.error{background:#8b4841}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}@media(hover:none){.field-edit-button{opacity:1}}@container (max-width: 380px){.detail-actions{padding-inline:12px}.lifecycle-actions>div{gap:3px}.lifecycle-actions .button{font-size:10px}.lifecycle-actions .button small{font-size:7.5px;letter-spacing:-.08em}}@media(max-width:900px){.workspace{grid-template-columns:238px minmax(0,1fr)}.detail-panel{width:min(420px,calc(100vw - 238px))}.vault-status{display:none}}@media(max-width:680px){.app-shell{grid-template-rows:58px 1fr}.topbar{padding:0 12px}.brand span,.theme-switch-label{display:none}.map-theme-button{padding-inline:8px}.workspace{grid-template-columns:1fr}.sidebar{position:absolute;left:0;bottom:0;width:100%;height:220px;border-top:1px solid var(--line);border-right:0;z-index:10}.list-controls{display:none}.stats .stat-tab{padding:8px 5px 7px}.map-shell{padding-bottom:220px}.detail-panel{top:0;bottom:220px;width:100%!important}.detail-resize-handle{display:none}.sidebar-relation-row{grid-template-columns:minmax(0,1fr) 96px 26px}.map-legend{display:none}}#tutorialGuide[hidden]{display:none}.tutorial-mode .workspace{grid-template-columns:1fr}.tutorial-mode[data-tutorial-stage="5"] .workspace,.tutorial-mode[data-tutorial-stage="6"] .workspace{grid-template-columns:286px minmax(0,1fr)}.tutorial-mode[data-tutorial-stage="1"] .sidebar,.tutorial-mode[data-tutorial-stage="2"] .sidebar,.tutorial-mode[data-tutorial-stage="3"] .sidebar,.tutorial-mode[data-tutorial-stage="4"] .sidebar{display:none}.tutorial-mode .topbar-actions>*{display:none}.tutorial-mode .vault-status{display:inline-flex}.tutorial-mode .vault-status{font-size:13.333px}.tutorial-mode .brand>div>span{font-size:13.333px}.tutorial-mode[data-tutorial-stage="1"] #mapThemeSwitch,.tutorial-mode[data-tutorial-stage="2"] #mapThemeSwitch,.tutorial-mode[data-tutorial-stage="1"] .map-toolbar,.tutorial-mode[data-tutorial-stage="2"] #newFlagButton,.tutorial-mode[data-tutorial-stage="2"] .toolbar-divider,.tutorial-mode[data-tutorial-stage="3"] #newFlagButton,.tutorial-mode[data-tutorial-stage="3"] .toolbar-divider,.tutorial-mode[data-tutorial-stage="1"] #boundaryLayer,.tutorial-mode[data-tutorial-stage="2"] #boundaryLayer,.tutorial-mode[data-tutorial-stage="1"] .map-legend,.tutorial-mode[data-tutorial-stage="2"] .map-legend{display:none}.tutorial-mode[data-tutorial-stage="3"] .map-legend span:has(.legend-dot){display:none}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-circle,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-circle,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-circle{fill:#fffef9;stroke:#6f7972;filter:drop-shadow(0 3px 6px rgba(31,41,36,.16))}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-halo,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-halo,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-halo{stroke:transparent}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-flag-banner,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-flag-banner,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-flag-banner{fill:#4f5b54}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-flag-pole,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-flag-pole,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-flag-pole{stroke:#4f5b54}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-flag-emblem,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-flag-emblem,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-flag-emblem{stroke:#fffef9}.tutorial-mode[data-tutorial-stage="1"] .flag-node .node-meta,.tutorial-mode[data-tutorial-stage="2"] .flag-node .node-meta,.tutorial-mode[data-tutorial-stage="3"] .flag-node .node-meta{display:none}.tutorial-mode[data-tutorial-stage="1"] .flag-node[data-flag-id=flag_tutorial_plan] .selection-ring,.tutorial-mode[data-tutorial-stage="4"] .flag-node[data-flag-id=flag_tutorial_unstarted] .selection-ring{animation:tutorial-target-pulse 1.55s ease-in-out infinite}.tutorial-mode #detailType,.tutorial-mode #detailPanel .meta-block:not(.identity-block),.tutorial-mode #detailPanel .detail-section:not(:has(#detailOutgoingRelations)){display:none}.tutorial-mode[data-tutorial-stage="1"] #detailPanel .detail-actions,.tutorial-mode[data-tutorial-stage="2"] #detailPanel .detail-actions,.tutorial-mode[data-tutorial-stage="3"] #detailPanel .detail-actions,.tutorial-mode #detailPanel .detail-meta,.tutorial-mode[data-tutorial-stage="4"] #detailPanel .flag-actions #deleteButton,.tutorial-mode[data-tutorial-stage="5"] #detailPanel .flag-actions #deleteButton{display:none}.tutorial-mode[data-tutorial-stage="1"] #detailPanel .detail-section:has(#detailOutgoingRelations){position:relative;z-index:1;box-shadow:inset 0 0 0 2px #d58b3294;animation:tutorial-panel-pulse 1.8s ease-in-out infinite}.tutorial-mode[data-tutorial-stage="1"] #detailEditRelationsButton{position:relative;overflow:visible;opacity:1;color:#fff;border-color:#b86f1d;background:#d58b32;box-shadow:0 0 0 5px #d58b3233,0 5px 14px #874f0f4d;animation:tutorial-pencil-pulse 1.25s ease-in-out infinite}.tutorial-mode[data-tutorial-stage="1"] #detailEditRelationsButton:hover{color:#fff;border-color:#9f5c11;background:#c87d26}.tutorial-mode[data-tutorial-stage="1"] #detailEditRelationsButton:before{content:"여기부터";position:absolute;top:50%;right:calc(100% + 10px);padding:4px 8px;transform:translateY(-50%);border-radius:7px;color:#fff;background:#d58b32;box-shadow:0 3px 9px #874f0f3d;font-size:13.333px;font-weight:800;line-height:1.2;white-space:nowrap;pointer-events:none}.tutorial-mode[data-tutorial-stage="1"] #detailEditRelationsButton:after{content:"";position:absolute;top:50%;right:calc(100% + 4px);transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #d58b32;pointer-events:none}.tutorial-mode[data-tutorial-stage="4"] #lifecycleActions,.tutorial-mode[data-tutorial-stage="5"] #lifecycleActions{box-shadow:0 0 0 3px #d58b3238}.tutorial-mode[data-tutorial-stage="5"] .sidebar .stats{position:relative;z-index:2;box-shadow:0 0 0 3px #d58b324d}.tutorial-guide{position:absolute;left:18px;bottom:18px;z-index:16;width:min(390px,calc(100% - 36px));max-height:calc(100% - 36px);overflow:auto;border:1px solid rgba(40,91,69,.2);border-radius:16px;background:#fffef9f7;box-shadow:0 22px 58px #182a2138;backdrop-filter:blur(14px)}.tutorial-guide-content{padding:18px}.tutorial-guide h1{margin:8px 0 12px;color:var(--green-dark);font:750 25px/1.22 Georgia,Times New Roman,serif;white-space:pre-line}.tutorial-guide p,.tutorial-guide li,.tutorial-guide dd,.tutorial-guide button,.tutorial-guide a{font-size:13.333px}.tutorial-guide p{margin:0 0 14px;color:#4f5c55;line-height:1.58}.tutorial-guide strong{color:var(--green-dark)}.tutorial-kicker{display:block;margin-top:13px;color:var(--amber);font-size:13.333px;font-weight:850;letter-spacing:.04em}.tutorial-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.tutorial-progress i{display:grid;place-items:center;height:25px;border-radius:999px;color:#7b847e;background:#ecece6;font-size:13.333px;font-style:normal;font-weight:800}.tutorial-progress i.is-current{color:#fff;background:var(--green)}.tutorial-progress i.is-done{color:var(--green-dark);background:var(--green-soft)}.tutorial-instructions,.tutorial-checklist,.tutorial-try-list{display:grid;gap:8px;margin:0 0 14px;padding-left:22px;color:#46534c;line-height:1.45}.tutorial-instructions li.is-done{color:var(--green)}.tutorial-checklist{padding:0;list-style:none}.tutorial-checklist li{display:flex;align-items:flex-start;gap:8px}.tutorial-checklist li i{color:#8a938d;font-style:normal;font-weight:900}.tutorial-checklist li.is-done,.tutorial-checklist li.is-done i{color:var(--green)}.tutorial-result,.tutorial-note,.tutorial-callout{margin:0 0 13px;padding:10px 11px;border:1px solid #dfdfd8;border-radius:10px;color:#59645e;background:#f4f3ed;font-size:13.333px;line-height:1.45}.tutorial-result.is-complete{color:var(--green-dark);border-color:#bfd3c3;background:#e7f0e8;font-weight:700}.tutorial-callout{display:flex;gap:9px;border-color:#e5cfaa;background:#fff7e8}.tutorial-callout i{flex:0 0 auto;width:11px;height:11px;margin-top:4px;border-radius:50%;background:var(--amber)}.tutorial-guide .tutorial-note{margin-bottom:13px}.tutorial-status-glossary{display:grid;gap:5px;margin:0 0 13px}.tutorial-status-glossary div{display:grid;grid-template-columns:116px 1fr;gap:8px;align-items:center}.tutorial-status-glossary dt{display:flex;align-items:center;gap:7px;color:#39473f;font-size:13.333px;font-weight:800}.tutorial-status-glossary dt i{width:10px;height:10px;border-radius:50%}.tutorial-status-glossary dd{margin:0;color:#667069;line-height:1.35}.tutorial-next,.tutorial-start{width:100%;min-height:42px;text-align:center;text-decoration:none}.tutorial-start{display:grid;place-items:center}.tutorial-guide-footer{display:flex;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px solid #e5e4dd}.tutorial-guide-footer button,.tutorial-guide-footer a,.tutorial-restart{padding:3px 0;border:0;color:#6b756e;background:transparent;text-decoration:none;cursor:pointer}.tutorial-guide-footer button:hover,.tutorial-guide-footer a:hover,.tutorial-restart:hover{color:var(--green-dark);text-decoration:underline}.tutorial-learned{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.tutorial-learned span{padding:6px 9px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:13.333px;font-weight:750}.tutorial-restart{display:block;margin:12px auto 0}.tutorial-mode .detail-panel,.tutorial-mode .detail-panel button,.tutorial-mode .detail-panel input,.tutorial-mode .detail-panel select,.tutorial-mode .sidebar,.tutorial-mode .sidebar button,.tutorial-mode .sidebar input,.tutorial-mode .sidebar select,.tutorial-mode .map-toolbar button,.tutorial-mode .map-legend,.tutorial-mode .zoom-label,.tutorial-mode .toast,.tutorial-mode .theme-switch-label,.tutorial-mode .map-theme-button,.tutorial-mode .lifecycle-actions small,.tutorial-mode .empty-small,.tutorial-mode .stats span,.tutorial-mode .list-copy span,.tutorial-mode .list-copy strong,.tutorial-mode .check-field span,.tutorial-mode .mini-stars span,.tutorial-mode .action-group-label,.tutorial-mode .relation-kind,.tutorial-mode #territoryMap .node-meta,.tutorial-mode #territoryMap .node-label,.tutorial-mode #territoryMap .selected-indicator,.tutorial-mode .detail-section h3,.tutorial-mode .relation-group-title{font-size:13.333px}@keyframes tutorial-target-pulse{0%,to{stroke-width:4;opacity:.65}50%{stroke-width:8;opacity:1}}@keyframes tutorial-panel-pulse{0%,to{box-shadow:inset 0 0 0 2px #d58b3259}50%{box-shadow:inset 0 0 0 3px #d58b32b8}}@keyframes tutorial-pencil-pulse{0%,to{box-shadow:0 0 0 5px #d58b322e,0 5px 14px #874f0f42}50%{box-shadow:0 0 0 9px #d58b324d,0 7px 18px #874f0f5c}}@media(max-width:760px){.tutorial-mode .topbar{gap:10px}.tutorial-mode .brand>div>span,.tutorial-mode .vault-status{display:none}.tutorial-mode[data-tutorial-stage="5"] .workspace,.tutorial-mode[data-tutorial-stage="6"] .workspace{grid-template-columns:1fr}.tutorial-mode[data-tutorial-stage="5"] .sidebar,.tutorial-mode[data-tutorial-stage="6"] .sidebar{display:flex}.tutorial-guide{left:10px;bottom:10px;width:calc(100% - 20px);max-height:min(52%,430px);border-radius:14px}.tutorial-guide-content{padding:14px}.tutorial-guide h1{font-size:22px}.tutorial-status-glossary div{grid-template-columns:105px 1fr}}@media(prefers-reduced-motion:reduce){.tutorial-mode .selection-ring,.tutorial-mode #detailPanel .detail-section{animation:none!important}}
