:root{color:#173d30;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-ink:#173d30;--color-muted:#5e766c;--color-subtle:#80958c;--color-line:#abc6b8;--color-surface:#fffdf7;--color-surface-soft:#dcece2;--color-accent:#ef6f51;--color-accent-dark:#c84f36;--color-accent-soft:#ffe0d6;--color-green:#4b8d70;--color-green-soft:#cfe7d8;--color-yellow:#e3ad42;--color-yellow-soft:#ffe4a8;--shadow-sm:3px 3px 0 #173d301f;--shadow-md:6px 6px 0 #173d3024;background:#edf5ef;font-family:Inter,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#edf5ef;min-width:320px}body{background-color:#edf5ef;background-image:radial-gradient(circle at 8% 18%,#ffe4a86b,#0000 24rem),radial-gradient(circle at 92% 12%,#ffe0d685,#0000 22rem),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{touch-action:manipulation}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #ef6f5157}::selection{color:#fff;background:var(--color-accent)}#root{min-height:100dvh}.app-shell{flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{z-index:-1;content:"";pointer-events:none;border:3px solid #0000;border-top-color:#4b8d702e;border-radius:50%;width:190px;height:92px;position:fixed}.app-shell:before{top:124px;left:-60px;transform:rotate(16deg)}.app-shell:after{border-color:#ef6f5129 #0000 #0000;bottom:90px;right:-68px;transform:rotate(-20deg)}.app-header{width:min(100% - 40px,1120px);padding:max(24px, env(safe-area-inset-top)) 0 20px;margin:0 auto}.brand{color:var(--color-ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:62px;height:50px;display:block}.brand-copy{gap:2px;display:grid}.brand-copy strong{color:#234135;letter-spacing:-.06em;font-size:1.35rem;line-height:1}.brand-copy>span{color:#668478;letter-spacing:-.025em;font-size:.72rem}.app-main{flex:1;align-items:center;width:min(100% - 40px,1120px);margin:0 auto;padding:48px 0 80px;display:grid}.app-footer{width:min(100% - 40px,1120px);padding:20px 0 max(24px, env(safe-area-inset-bottom));border-top:1px dashed var(--color-line);color:var(--color-subtle);text-align:center;margin:0 auto;font-size:.78rem}.explorer-welcome{text-align:center;width:min(100%,760px);margin:0 auto}.eyebrow{color:var(--color-accent);letter-spacing:.13em;font-size:.72rem;font-weight:800;display:inline-block}.explorer-welcome h1{color:var(--color-ink);text-wrap:balance;letter-spacing:-.045em;margin:18px 0 20px;font-size:clamp(2.5rem,8vw,5rem);line-height:1.04}.explorer-welcome h1 span{display:inline-block;position:relative}.explorer-welcome h1 span:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9 C65 2 127 12 188 7 S260 4 297 8' fill='none' stroke='%23ef6f51' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:12px;position:absolute;bottom:-9px;left:1%;right:2%}.welcome-input-wrap{position:relative}.doodle-note,.section-doodle-note{color:var(--color-accent);letter-spacing:.02em;font-family:Comic Sans MS,Bradley Hand,cursive;font-weight:700}.doodle-note{font-size:.82rem;position:absolute;top:-32px;right:18px;transform:rotate(-5deg)}.doodle-note:after{content:"";border-bottom:2px solid;border-right:2px solid;border-radius:0 0 18px;width:28px;height:19px;margin-left:5px;display:inline-block;transform:rotate(24deg)translateY(6px)}.explorer-welcome>p{max-width:560px;color:var(--color-muted);text-wrap:pretty;margin:0 auto 34px;font-size:clamp(1rem,2.3vw,1.12rem);line-height:1.75}.input-hint{color:var(--color-subtle);margin-top:12px;font-size:.78rem;display:block}.free-input{border:1px solid var(--color-line);border:1.5px solid var(--color-line);background:var(--color-surface);width:100%;box-shadow:var(--shadow-md);border-radius:17px 21px 16px 20px;padding:6px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.free-input:focus-within{border-color:var(--color-accent);transform:translate(-1px,-1px);box-shadow:6px 6px #ef6f5133}.free-input input{width:100%;min-width:0;height:52px;color:var(--color-ink);background:0 0;border:0;outline:0;padding:0 16px;font-size:1rem}.free-input input::placeholder{color:#9aa39d}.free-input button{border:2px solid var(--color-ink);color:#fff;background:var(--color-accent);min-width:126px;min-height:52px;box-shadow:2px 2px 0 var(--color-ink);cursor:pointer;border-radius:11px 14px 10px 15px;justify-content:center;align-items:center;gap:9px;padding:0 19px;font-weight:750;display:inline-flex}.free-input button:hover{box-shadow:3px 3px 0 var(--color-ink);background:#f47d61;transform:translate(-1px,-1px)}.free-input button:active{box-shadow:1px 1px 0 var(--color-ink);transform:translate(1px,1px)}.explorer-workspace{width:100%;min-width:0}.breadcrumb{scrollbar-width:thin;align-items:center;gap:6px;min-width:0;margin-bottom:18px;padding:4px 2px 9px;display:flex;overflow-x:auto}.breadcrumb-item{flex:none;align-items:center;gap:6px;display:inline-flex}.breadcrumb-link{min-height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:8px 10px 7px 11px;padding:0 10px}.breadcrumb-link:hover{color:var(--color-ink);background:var(--color-yellow-soft)}.breadcrumb-current{max-width:260px;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:5px;font-size:.88rem;font-weight:700;text-decoration-thickness:3px;overflow:hidden}.breadcrumb-sep{color:var(--color-green);font-size:1.2rem;font-weight:800}.current-node{border:1.5px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-md);border-radius:24px 29px 22px 27px;padding:clamp(26px,5vw,48px);position:relative;overflow:hidden}.current-node:after{content:"";pointer-events:none;border:5px dashed #e3ad4273;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-42px;right:-32px}.current-label{color:var(--color-accent);letter-spacing:.08em;margin-bottom:12px;font-size:.75rem;font-weight:800;display:block}.current-title{z-index:1;max-width:800px;color:var(--color-ink);overflow-wrap:anywhere;text-wrap:balance;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:1.1;position:relative}.current-title-underline{z-index:1;width:min(42%,300px);height:14px;margin-top:3px;display:block;position:relative}.current-title-underline path{fill:none;stroke:var(--color-accent);stroke-linecap:round;stroke-width:4px}.current-desc{z-index:1;max-width:760px;color:var(--color-muted);text-wrap:pretty;margin:18px 0 0;font-size:1rem;line-height:1.75;position:relative}.current-keywords,.candidate-keywords{flex-wrap:wrap;gap:7px;display:flex}.current-keywords{z-index:1;margin-top:22px;position:relative}.keyword-chip{min-height:28px;color:var(--color-ink);background:var(--color-green-soft);border-radius:7px 9px 6px 10px;align-items:center;padding:4px 9px;font-size:.76rem;font-weight:650;display:inline-flex}.keyword-button{cursor:pointer;text-align:left;border:1px solid #0000}.keyword-button:hover{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-yellow-soft);transform:translate(-1px,-1px);box-shadow:2px 2px #173d302e}.keyword-button:active{transform:translate(1px,1px)}.keyword-button:disabled{cursor:wait;opacity:.58}.keyword-chip:nth-child(3n+2){background:var(--color-yellow-soft)}.keyword-chip:nth-child(3n+3){background:var(--color-accent-soft)}.node-connector{width:220px;height:72px;margin:-1px auto -42px;display:block;overflow:visible}.node-connector path{fill:none;stroke:var(--color-green);stroke-dasharray:6 7;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.node-connector .connector-arrow{stroke:var(--color-accent);stroke-dasharray:none}.candidate-section-head{justify-content:space-between;align-items:end;gap:20px;margin:58px 0 20px;display:flex;position:relative}.candidate-section-head h2{color:var(--color-ink);text-wrap:balance;letter-spacing:-.03em;margin:7px 0 0;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.25}.candidate-section-head p{color:var(--color-muted);text-wrap:pretty;margin:8px 0 0;font-size:.86rem;line-height:1.55}.section-doodle-note{margin-left:12px;font-size:.78rem;position:absolute;bottom:-8px;transform:rotate(-3deg)}.section-doodle-note:after{content:"";border-bottom:2px solid;border-radius:50%;width:26px;height:10px;margin-left:5px;display:inline-block;transform:rotate(-8deg)}.candidate-count{color:var(--color-muted);border:1px dashed var(--color-line);background:#fffdf794;border-radius:999px;flex:none;padding:7px 10px;font-size:.82rem}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.candidate-card{border:1.5px solid var(--color-line);min-width:0;min-height:168px;color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:left;border-radius:17px 21px 15px 20px;flex-direction:column;padding:22px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.candidate-card:nth-child(3n+2){border-radius:21px 16px 20px 15px;box-shadow:3px 3px #e3ad423d}.candidate-card:nth-child(3n+3){border-radius:15px 20px 17px 22px;box-shadow:3px 3px #ef6f512e}.candidate-card:hover,.candidate-card:focus-within{border-color:var(--color-ink);transform:translate(-2px,-2px);box-shadow:5px 5px #173d302e}.candidate-open-detail{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.candidate-open-detail:focus-visible{border-radius:10px}.candidate-head{align-items:flex-start;gap:12px;display:flex}.candidate-arrow{color:var(--color-accent);margin-left:auto;padding-top:2px;font-size:1.1rem;font-weight:800;transition:transform .16s}.candidate-card:hover .candidate-arrow,.candidate-card:focus-within .candidate-arrow{transform:translate(4px)rotate(-7deg)}.candidate-no{border:1.5px solid var(--color-ink);width:30px;height:30px;color:var(--color-ink);background:var(--color-yellow-soft);box-shadow:2px 2px 0 var(--color-ink);font-variant-numeric:tabular-nums;border-radius:47% 53% 44% 56%;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:grid}.candidate-title{overflow-wrap:anywhere;letter-spacing:-.02em;min-width:0;padding-top:3px;font-size:1.03rem;font-weight:800;line-height:1.35}.candidate-detail-hint{color:var(--color-green);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:4px;margin:11px 0 0 42px;font-size:.75rem;font-weight:750;text-decoration-thickness:2px;display:inline-block}.candidate-preview{min-height:4.95em;color:var(--color-muted);text-wrap:pretty;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:16px 0 0;font-size:.86rem;line-height:1.65;display:-webkit-box;overflow:hidden}.candidate-keywords{margin-top:auto;padding-top:18px}body:has(.candidate-dialog[open]){overflow:hidden}.candidate-dialog{border:1.5px solid var(--color-ink);width:min(100% - 32px,680px);max-height:min(82dvh,760px);color:var(--color-ink);background:var(--color-surface);border-radius:22px 27px 20px 25px;margin:auto;padding:0;overflow:hidden;box-shadow:8px 8px #173d3047}.candidate-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#102b229e}.candidate-dialog-panel{flex-direction:column;max-height:min(82dvh,760px);display:flex}.candidate-dialog-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 28px 20px;display:flex}.candidate-dialog-header h2{overflow-wrap:anywhere;text-wrap:balance;letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(1.45rem,4vw,2.15rem);line-height:1.25}.dialog-title-underline{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6 Q55 1 105 6 T218 4' fill='none' stroke='%23ef6f51' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;width:min(220px,72%);height:9px;margin-top:3px;display:block}.candidate-dialog-header form,.candidate-dialog-actions form{margin:0}.dialog-close{border:1.5px solid var(--color-ink);width:42px;height:42px;color:var(--color-muted);background:var(--color-surface);box-shadow:2px 2px 0 var(--color-ink);cursor:pointer;border-radius:47% 53% 45% 55%;flex:none;place-items:center;font-size:1.55rem;line-height:1;display:grid}.dialog-close:hover{color:var(--color-ink);background:var(--color-yellow-soft)}.candidate-dialog-content{overscroll-behavior:contain;padding:24px 28px 28px;overflow-y:auto}.candidate-dialog-desc{color:var(--color-muted);white-space:pre-line;text-wrap:pretty;margin:0;font-size:1rem;line-height:1.85}.dialog-keyword-section{border-top:1px dashed var(--color-line);margin-top:28px;padding-top:22px}.dialog-keyword-section h3{margin:0 0 13px;font-size:.86rem}.candidate-dialog-actions{padding:18px 28px max(18px, env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-surface);justify-content:flex-end;gap:10px;display:flex}.dialog-secondary,.dialog-primary{cursor:pointer;border-radius:10px 13px 9px 14px;min-height:48px;padding:0 18px;font-weight:750}.dialog-secondary{border:1.5px solid var(--color-ink);color:var(--color-muted);background:var(--color-surface)}.dialog-primary{border:2px solid var(--color-ink);color:#fff;background:var(--color-accent);box-shadow:2px 2px 0 var(--color-ink)}.dialog-secondary:hover{color:var(--color-ink);background:var(--color-yellow-soft)}.dialog-primary:hover{background:#f47d61;transform:translate(-1px,-1px)}.candidate-empty{border:2px dashed var(--color-line);color:var(--color-muted);text-align:center;text-wrap:pretty;background:#fffdf7b8;border-radius:17px 22px 16px 20px;margin:0;padding:30px 24px;line-height:1.65}.manual-section{border:1.5px dashed var(--color-line);background:var(--color-surface-soft);border-radius:19px 23px 17px 22px;margin-top:28px;padding:24px}.manual-label{color:var(--color-muted);margin:0 0 11px 4px;font-size:.82rem;font-weight:650;display:block}.manual-section .free-input{box-shadow:var(--shadow-sm)}.skeleton{cursor:default}.skeleton:hover{border-color:var(--color-line);box-shadow:var(--shadow-sm);transform:none}.skeleton-line{background:linear-gradient(100deg,#dce9e1 35%,#f7f4e8 50%,#dce9e1 65%) 0 0/220% 100%;border-radius:6px;width:100%;height:13px;margin-top:14px;animation:1.4s ease-in-out infinite skeleton-scribble}.skeleton-title{width:58%;height:20px;margin-top:0}.skeleton-line.short{width:72%}@keyframes skeleton-scribble{to{background-position-x:-220%}}@media (width<=860px){.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main{padding-top:32px}.node-connector{opacity:.72}}@media (width<=620px){.app-header,.app-main,.app-footer{width:min(100% - 28px,1120px)}.app-header{padding-bottom:12px}.brand{gap:8px}.brand-mark{width:62px;height:50px}.brand-copy strong{font-size:1.2rem}.brand-copy>span{display:none}.app-main{align-items:start;padding:38px 0 56px}.explorer-welcome{padding-top:7vh}.explorer-welcome h1{margin-top:14px;font-size:clamp(2.35rem,13vw,3.6rem)}.explorer-welcome>p{margin-bottom:28px;font-size:.96rem}.free-input{border-radius:16px;padding:7px;display:grid}.free-input input{height:50px;padding:0 12px}.free-input button{width:100%;min-width:0;min-height:48px}.breadcrumb{margin-bottom:12px}.current-node{border-radius:19px 23px 18px 21px;padding:25px 21px 30px}.current-node:after{bottom:-62px;right:-55px}.current-title{font-size:clamp(1.9rem,10vw,2.8rem)}.current-title-underline{width:min(62%,240px)}.node-connector{display:none}.candidate-section-head{align-items:flex-start;margin-top:42px}.section-doodle-note{display:none}.candidate-count{padding-top:22px}.candidate-grid{grid-template-columns:minmax(0,1fr)}.candidate-card{min-height:0;padding:20px}.candidate-preview{-webkit-line-clamp:2;min-height:3.3em}.keyword-button{min-height:36px;padding:7px 10px}.manual-section{padding:16px}.candidate-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:22px 25px 0 0;width:100%;max-width:none;max-height:88dvh;margin:auto 0 0}.candidate-dialog-panel{max-height:88dvh}.candidate-dialog-header{padding:22px 18px 17px}.candidate-dialog-content{padding:20px 18px 24px}.candidate-dialog-actions{padding:14px 18px max(14px, env(safe-area-inset-bottom));grid-template-columns:1fr 1.4fr;display:grid}.candidate-dialog-actions form,.dialog-secondary,.dialog-primary{width:100%}}@media (width<=380px){.app-header,.app-main,.app-footer{width:min(100% - 20px,1120px)}.candidate-section-head{display:block}.candidate-count{padding-top:8px;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
