/* Hallmark · macrostructure: retained product workspace · tone: utilitarian · anchor hue: green
 * Existing routes and Korean content retained. Website UI Craft: hierarchy, mobile, feedback, accessibility.
 */
html,body{overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-body);background:var(--color-canvas);color:var(--color-ink)}
main,section,article,.field,.property-name,.shell{min-width:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0;letter-spacing:-.6px}h1{font-size:var(--text-title)}
button,.button-link,nav a{font-size:14px;white-space:nowrap;min-height:44px;border-radius:var(--radius-sm)}button{transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button[aria-busy=true]{cursor:progress;opacity:.65}
:focus-visible{outline:3px solid var(--color-action);outline-offset:3px}input,select,textarea{font-size:16px!important;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line);min-height:44px}input[type=checkbox]{min-height:22px;accent-color:var(--color-action)}input:focus,select:focus,textarea:focus{border-color:var(--color-action)}
.sidebar{background:var(--color-paper);padding:24px 16px;border-color:var(--color-line);width:232px}.brand{color:var(--color-ink);font-size:21px}.brand-mark{background:var(--color-accent);color:var(--color-ink);border-radius:var(--radius-sm)}.brand small{font-size:10px;color:var(--color-muted);letter-spacing:.2px}.workspace-label{font-size:13px;color:var(--color-ink)}.nav-stage{color:var(--color-muted);font-size:12px;letter-spacing:0}.sidebar nav a{font-size:14px;color:var(--color-ink);border-radius:var(--radius-sm)}.sidebar nav a.active{background:var(--color-tint);color:var(--color-action);box-shadow:inset 3px 0 var(--color-accent)}.sidebar nav a.subnav{font-size:13px;padding:9px 12px 9px 30px}.sidebar-bottom p,.source-mark{color:var(--color-muted);font-size:12px}
.shell{margin-left:232px}header{background:var(--color-paper);border-bottom:1px solid var(--color-line)}.crumb{font-size:13px;color:var(--color-muted)}.header-actions{flex-wrap:wrap;gap:8px}.quiet{background:var(--color-paper);border:1px solid var(--color-line);color:var(--color-ink)}.dark{background:var(--color-action);color:var(--color-paper)}.text-button,.reference-button{color:var(--color-action)}.pill,.tiny-tag{background:var(--color-tint);color:var(--color-action);font-size:12px}.muted,small,.notice{color:var(--color-muted)}
.page-heading{border-bottom:1px solid var(--color-line);padding-bottom:20px;margin-bottom:24px}.eyebrow,.card-eyebrow{display:none}.page-heading p{font-size:14px;line-height:1.8}.page-heading>.pill{background:var(--color-paper);border:1px solid var(--color-line);color:var(--color-muted)}
.property,.panel,.status-card,.candidate-card,.mini-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:none}.property{padding:20px}.property strong{font-size:20px}.property-price strong{color:var(--color-price)}.property-name span{font-size:13px;color:var(--color-muted)}.building-icon{background:var(--color-tint);color:var(--color-action)}
.hero-card{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-line);border-top:3px solid var(--color-accent);border-radius:var(--radius-md)}.hero-card p,.hero-top,.hero-bottom{color:var(--color-muted)}.hero-value{color:var(--color-price)}.hero-bottom{border-color:var(--color-line)}.hero-bottom strong{color:var(--color-ink)}.funding-legend{color:var(--color-muted)}.funding-bar{background:var(--color-line)}.gold-dot{background:var(--color-accent)}
.field label{font-size:14px;font-weight:600;color:var(--color-ink)}.field small,.auto-formula,.inspection-note-guide{font-size:12px!important;line-height:1.75;color:var(--color-muted)}.field{gap:8px}.form-grid{gap:20px 16px}.two-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.notice,.bottom-note,.taxonomy-note{background:var(--color-canvas);border-color:var(--color-line);font-size:13px;line-height:1.8}.row{font-size:14px}.panel h2{font-size:19px}.panel h3{font-size:16px}
.journey-hero{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.journey-hero h2{font-size:30px;line-height:1.5;color:var(--color-ink)}.journey-hero p{font-size:14px;color:var(--color-muted)}.journey-hero .eyebrow{display:none}.hero-buildings{opacity:.8}.outline-light{border-color:var(--color-line);color:var(--color-ink)}
.journey-rail{border-radius:var(--radius-sm)}.journey-rail a{padding:22px 8px;color:var(--color-ink)}.journey-rail strong{font-size:13px}.journey-rail svg{color:var(--color-action)}.journey-rail small{color:var(--color-muted)}
.generation-overview{gap:0;border:1px solid var(--color-line);border-radius:var(--radius-sm)}.generation-overview a{border:0;border-right:1px solid var(--color-line);border-radius:0;padding:20px 16px}.generation-overview a:last-child{border:0}.generation-overview p,.generation-overview small{color:var(--color-muted);font-size:13px}.generation-index{color:var(--color-action);font-size:13px}.study-shortcuts a{border-radius:var(--radius-sm);background:var(--color-paper);border-color:var(--color-line)}.study-shortcuts p{font-size:13px;color:var(--color-muted)}
.lesson-intro{background:var(--color-canvas);border-color:var(--color-line);border-radius:var(--radius-sm)}.lesson-intro p{font-size:14px;color:var(--color-muted)}.generation-tabs button{border-radius:0;background:var(--color-paper);border-color:var(--color-line);font-size:16px}.generation-tabs button small{font-size:12px;color:var(--color-muted)}.generation-tabs button[aria-selected=true]{background:var(--color-tint);color:var(--color-action);border-color:var(--color-action)}.generation-heading{display:block}.generation-heading .generation-index{display:inline-block;background:var(--color-tint);font-size:13px;padding:5px 10px}.generation-heading h2{margin-top:12px}.lesson-summary,.lesson-columns p,.lesson-columns li{font-size:14px;color:var(--color-ink);line-height:1.95}.lesson-focus{background:var(--color-canvas)}.question-card{background:var(--color-warning);border-color:var(--color-action)}.generation-diagrams{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.generation-diagrams figure{background:var(--color-paper);border-color:var(--color-line);border-radius:var(--radius-sm)}.glossary-grid p{color:var(--color-muted);font-size:14px}
.quick-totals{background:var(--color-tint)}.quick-totals strong{color:var(--color-price)}.candidate-label{background:var(--color-tint);color:var(--color-action)}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-card h3{font-size:20px}.candidate-card>strong{color:var(--color-price)}.candidate-actions{gap:8px}.candidate-actions button{font-size:13px}.check-item{padding:14px;line-height:1.75;font-size:14px;border-color:var(--color-line)}
dialog{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:0 12px 40px var(--color-shadow);max-height:90dvh;width:min(740px,calc(100% - 24px));padding:24px}dialog::backdrop{background:var(--color-overlay)}.dialog-head h2{font-size:22px}.dialog-close{min-width:44px}.reference-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{max-width:100%;overflow:auto}th{background:var(--color-canvas);color:var(--color-muted)}td,th{font-size:13px}.loan-advanced{background:var(--color-canvas);border-color:var(--color-line)}.trade-periods .selected,.plan-toolbar .selected{background:var(--color-action);color:var(--color-paper)}.menu-toggle{display:none}.resource-marquee a{font-size:13px}.marquee-group small{color:var(--color-muted)}footer{font-size:12px;color:var(--color-muted)}
@media(max-width:960px){.sidebar{position:static;width:auto;padding:14px 16px}.shell{margin-left:0}.sidebar-bottom,.workspace-label,.nav-stage{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.sidebar nav a{padding:10px 12px}.sidebar nav a.subnav{padding:10px 12px}.sidebar .brand{max-width:max-content}main{padding:24px 20px}.two-columns{grid-template-columns:minmax(0,1fr)}.journey-rail{grid-auto-flow:column;grid-auto-columns:160px;grid-template-columns:none;overflow:auto}.generation-overview{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:180px;overflow:auto}.candidate-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.menu-toggle{display:block;position:absolute;right:16px;top:17px}.sidebar nav{display:none}.sidebar.menu-open nav{display:flex}.sidebar nav a.subnav{display:block}.sidebar nav a{flex:1 0 42%;font-size:13px}.brand{font-size:20px}.brand small{font-size:9px}header{padding:12px 16px;flex-wrap:wrap;gap:12px}.crumb{display:none}.header-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions button{font-size:12px;padding:8px 4px}main{padding:20px 16px}.page-heading{display:block}.page-heading h1{font-size:24px;line-height:1.5}.page-heading>.pill{display:inline-block;margin-top:12px}.property{display:flex;flex-wrap:wrap;padding:16px;gap:12px}.building-icon{display:none}.property-name{flex:1 1 100%}.property-price{margin:0}.property>button{margin-left:auto;font-size:12px}.property strong{font-size:18px}.overview-grid,.mini-grid,.form-grid,.lesson-columns,.glossary-grid,.generation-diagrams,.study-shortcuts{grid-template-columns:minmax(0,1fr)}.section-top,.generation-heading{display:block}.section-top>a,.section-top>button{display:inline-flex;margin-top:8px}.journey-hero{display:block;padding:20px}.journey-hero h2{font-size:25px}.hero-buildings{display:none}.hero-buttons{display:grid;grid-template-columns:minmax(0,1fr)}.generation-tabs{gap:0}.generation-tabs button{flex:0 0 120px}.generation-tabs button small{font-size:11px}.hero-value{font-size:36px}.candidate-actions button,.candidate-actions a{flex:1 1 100%}.candidate-card{padding:20px 16px}.trade-periods{gap:5px}.trade-periods button{padding:8px 11px}.plan-toolbar .reference-actions{display:grid;grid-template-columns:minmax(0,1fr)}.plan-note-list .row{align-items:start;flex-wrap:wrap}dialog,#candidate-dialog{width:calc(100% - 16px);padding:18px}.dialog-head{align-items:start;gap:8px}.dialog-head h2{font-size:20px}.reference-actions button,.reference-actions a{font-size:12px;white-space:normal}.flow-strip{overflow:auto}.marquee-window{max-width:100%}footer{display:flex;flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.generation-tabs{grid-template-columns:repeat(5,minmax(0,1fr));max-width:100%;overflow:auto}.generation-tabs button{min-width:0;white-space:normal}.generation-tabs button small{white-space:normal}.brand small{white-space:nowrap;font-size:8px}fieldset{border:1px solid var(--color-line);margin:20px 0;padding:16px;min-width:0;border-radius:var(--radius-sm)}legend{font-weight:600;font-size:14px;padding:0 8px}#building-result-step{background:var(--color-canvas)}#building-lookup{width:100%;background:var(--color-action);color:var(--color-paper)}
