*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}html,body{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--color-fg);position:relative;background-color:var(--color-bg);background-image:linear-gradient(#ff66000a,#ff66000a);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:var(--theme-body-pattern, url(/body-pattern.svg));background-repeat:no-repeat;background-position:center 80px;background-size:80% auto;filter:grayscale(1);opacity:.1}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:transparent;border:0;cursor:pointer}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--color-primary: #ff6600;--color-secondary: #1a1a1a;--color-accent: #ffffff;--color-bg: #f7f7f5;--color-surface: #ffffff;--color-fg: #1a1a1a;--color-muted: #6b6b6b;--color-border: #e2e2e2;--color-success: #1a9e5a;--color-warning: #e8a100;--color-danger: #d63b2f;--pressure-green: #2fa764;--pressure-yellow: #e8a100;--pressure-red: #d63b2f;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-hero: clamp(1.75rem, 6vw, 3rem);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--tap-min: 44px}.container{max-width:720px;margin:0 auto;padding:var(--sp-4)}.card,.scenario-card,.summary,.share-btn,.btn{max-width:100%}@media (max-width: 380px){.lb-table th,.lb-table td{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-sm)}}.intro-card{margin-top:var(--sp-4)}.intro-title{font-size:var(--fs-xl);line-height:1.2;margin-bottom:var(--sp-3)}.intro-body{white-space:pre-line;font-size:var(--fs-md);line-height:1.5;color:var(--color-fg)}.intro-bullets{list-style:none;padding:0;margin:var(--sp-4) 0 0;border-top:1px solid var(--color-border);padding-top:var(--sp-3)}.intro-bullets li{padding:var(--sp-1) 0 var(--sp-1) var(--sp-5);position:relative;font-size:var(--fs-sm);color:var(--color-muted)}.intro-bullets li:before{content:"✓";position:absolute;left:var(--sp-2);color:var(--color-primary);font-weight:700}.desktop-tip{display:none}@media (min-width: 768px){.desktop-tip{display:block;background:var(--color-primary);color:#fff;text-align:center;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:500}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-header h1{font-size:var(--fs-lg);color:var(--color-primary)}.app-header .brand{display:block;height:32px;width:auto}.country-switch{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.country-switch select{background:transparent;border:0;font-weight:600;color:var(--color-fg);padding:4px 0;cursor:pointer}.country-switch select:focus{outline:none}.hero{padding:var(--sp-7) var(--sp-4);text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 78%,transparent),color-mix(in srgb,var(--color-secondary) 78%,transparent));color:var(--color-accent)}.hero>*{position:relative;z-index:1;animation:hero-rise .45s ease-out both}@keyframes hero-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero h1{font-size:var(--fs-hero);font-weight:800;line-height:1.1;margin-bottom:var(--sp-3)}.hero p{font-size:var(--fs-lg);max-width:42ch;margin:0 auto var(--sp-5)}.usp-list{display:flex;flex-direction:column;gap:var(--sp-3);max-width:420px;margin:var(--sp-5) auto 0}.usp{background:#ffffff26;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (min-width: 768px){.usp-list{flex-direction:row}.usp{flex:1}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-md);transition:transform 80ms ease,filter 80ms ease;cursor:pointer;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-accent)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border)}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-block{width:100%}.form{display:flex;flex-direction:column;gap:var(--sp-4)}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field label{font-size:var(--fs-sm);font-weight:600;color:var(--color-muted)}.field input,.field select{min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--fs-md)}.field input:focus,.field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.field-inline{display:flex;align-items:center;gap:var(--sp-2)}.field-inline input[type=checkbox]{width:1.25rem;height:1.25rem;min-height:0}.field-error{color:var(--color-danger);font-size:var(--fs-sm)}.inline-link{color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.inline-link:hover,.inline-link:focus{color:var(--color-fg);text-decoration-thickness:2px;outline:none}.card{background:#ffffffd9;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--sp-3)}.game-head{position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.game-head-inner{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;align-items:baseline;padding:var(--sp-3) var(--sp-4)}.game-head .round{font-weight:700;font-size:var(--fs-lg)}.game-head .score{font-variant-numeric:tabular-nums;color:var(--color-muted)}.game-head .score strong{color:var(--color-fg)}.game-head .score strong.negative{color:var(--color-danger)}.game-stack{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);max-width:720px;margin:0 auto}.scenario-card{background:#ffffffd9;border-left:4px solid var(--color-primary);padding:var(--sp-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.scenario-card h2{font-size:var(--fs-lg);margin-bottom:var(--sp-2)}.scenario-card .events{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.scenario-card .event-chip{background:#ff66001a;color:var(--color-primary);padding:4px 10px;border-radius:999px;font-size:var(--fs-sm);font-weight:600}.stock-bar{display:flex;align-items:center;gap:var(--sp-3)}.stock-bar .count{font-size:var(--fs-2xl);font-weight:700;color:var(--color-primary)}.stock-bar .label{color:var(--color-muted);font-size:var(--fs-sm)}.pressure{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:600}.pressure .dot{width:10px;height:10px;border-radius:50%}.pressure[data-level=green] .dot{background:var(--pressure-green)}.pressure[data-level=yellow] .dot{background:var(--pressure-yellow)}.pressure[data-level=red] .dot{background:var(--pressure-red)}.order-input{display:flex;flex-direction:column;gap:var(--sp-3)}.order-stepper{display:flex;align-items:center;gap:var(--sp-3)}.order-stepper button{width:var(--tap-min);height:var(--tap-min);border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--fs-xl);line-height:1;padding:0 0 4px}.order-stepper input{flex:1;font-size:var(--fs-md);font-weight:400;line-height:1;text-align:center;min-height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:font-size .12s ease-out}.order-stepper input:not(:placeholder-shown){font-size:var(--fs-2xl);font-weight:700}.order-stepper input::placeholder{color:var(--color-muted);font-size:var(--fs-sm)}.order-quick{display:flex;gap:var(--sp-2);flex-wrap:wrap}.order-quick button{flex:1 1 calc(25% - var(--sp-2));min-height:var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.summary{background:#ffffffd9;border-radius:var(--radius-md);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.summary h3{font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.summary .stats{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:var(--sp-2) var(--sp-4);font-variant-numeric:tabular-nums}.summary .stats .stat{display:flex;justify-content:space-between;gap:var(--sp-2)}.summary .stats .stat:nth-child(1){grid-column:1;grid-row:1}.summary .stats .stat:nth-child(2){grid-column:1;grid-row:2}.summary .stats .stat:nth-child(3){grid-column:1;grid-row:3}.summary .stats .stat:nth-child(4){grid-column:1;grid-row:4}.summary .stats .stat.is-stock{grid-column:2;grid-row:1 / span 4;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-1);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--sp-2)}.summary .stats .stat.is-stock .value{font-size:1.5rem}.summary .stats .stat .label{color:var(--color-muted)}.summary .stats .stat .value{font-weight:600}.summary .stats .stat.warn .value{color:var(--color-danger)}.summary .stats .stat.span-2{grid-column:1 / -1}.summary .delta{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;font-size:var(--fs-lg)}.summary .delta.positive{color:var(--color-success)}.summary .delta.negative{color:var(--color-danger)}.breakdown{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--color-border);font-variant-numeric:tabular-nums}.breakdown-row{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3);padding:3px 0;font-size:var(--fs-sm)}.breakdown-row .label{color:var(--color-fg)}.breakdown-row .detail{color:var(--color-muted);font-size:.75rem;margin-left:4px}.breakdown-row .amount{font-weight:600}.breakdown-row .amount.positive{color:var(--color-success)}.breakdown-row .amount.negative{color:var(--color-danger)}.breakdown-row .amount.neutral{color:var(--color-muted)}.breakdown-row.net{border-top:1px solid var(--color-border);margin-top:var(--sp-2);padding-top:var(--sp-2);font-size:var(--fs-md);font-weight:700}.micro-hint{display:flex;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:#ff660014;color:var(--color-primary);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.container:has(>.lb-card){padding:var(--sp-2)}.lb-card{background:#ffffffd9;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.lb-table{width:100%;border-collapse:collapse;font-size:14px}.lb-table th,.lb-table td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums}.lb-table tbody tr:last-child td{border-bottom:0}.lb-table th{color:var(--color-muted);font-weight:600}.lb-table .score{text-align:right;font-weight:700}.lb-table .rank{width:3ch;color:var(--color-muted)}.lb-table td.company{color:var(--color-muted)}.lb-table .flag{font-size:1.2em;line-height:1}.lb-table tr.is-self{background:#ff660014}.lb-table tr.lb-self-separator td{text-align:center;color:var(--color-muted);font-size:1.2rem;letter-spacing:.5em;padding:var(--sp-1) var(--sp-2);border-bottom:1px dashed var(--color-border)}.lb-pagination{display:flex;gap:var(--sp-1);flex-wrap:wrap;justify-content:center;align-items:center;margin:var(--sp-4) 0 var(--sp-5)}.lb-page-btn{min-width:36px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.lb-page-btn:hover:not(:disabled):not(.is-current){background:var(--color-bg)}.lb-page-btn.is-current{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:700}.lb-page-btn:disabled{opacity:.5;cursor:not-allowed}.lb-page-gap{padding:0 var(--sp-1);color:var(--color-muted)}.lb-podium{display:flex;justify-content:center;align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.lb-podium-col{flex:1;text-align:center;min-width:0}.lb-podium-col.empty{visibility:hidden}.lb-podium-medal{font-size:1.75rem;line-height:1}.lb-podium-name{margin-top:var(--sp-1);font-size:var(--fs-sm);font-weight:700;color:var(--color-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-podium-company{font-size:.7rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.lb-podium-score{font-size:var(--fs-md);font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums}.lb-podium-pillar{margin-top:var(--sp-2);border-radius:8px 8px 0 0;color:#fff;font-weight:800;font-size:var(--fs-lg);display:flex;align-items:flex-start;justify-content:center;padding-top:var(--sp-2)}.lb-podium-col.is-self .lb-podium-pillar{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 480px){.lb-table th:nth-child(3),.lb-table td:nth-child(3){display:none}}.center{text-align:center}.muted{color:var(--color-muted)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.result-hero{text-align:center;padding:var(--sp-6) var(--sp-4) var(--sp-5);background:radial-gradient(circle at top,rgba(255,102,0,.18),transparent 65%),linear-gradient(180deg,rgba(255,102,0,.04) 0%,var(--color-surface) 70%);position:relative;overflow:hidden}.result-hero:before{content:"";position:absolute;top:-40%;left:-20%;width:60%;height:80%;background:#ff66000f;transform:rotate(-12deg);pointer-events:none}.result-trophy{font-size:2.5rem;line-height:1;margin-bottom:var(--sp-2);animation:trophy-bounce .7s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.1s;position:relative}@keyframes trophy-bounce{0%{opacity:0;transform:translateY(-12px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}.result-badge{display:block;margin:0 auto var(--sp-3);height:96px;width:auto;object-fit:contain;animation:badge-pop .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.25s;position:relative}@keyframes badge-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.result-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-sm);font-weight:600;margin:0 0 var(--sp-2);position:relative}.result-score{font-size:clamp(2.5rem,9vw,4rem);font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.05;position:relative}.result-score.negative{color:var(--color-danger)}.result-rank{display:inline-block;margin:var(--sp-4) 0 0;padding:var(--sp-2) var(--sp-4);background:var(--color-primary);color:#fff;font-size:var(--fs-md);font-weight:700;border-radius:999px;position:relative;animation:rank-fade .5s ease-out both;animation-delay:1.4s}@keyframes rank-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result-mail-notice{margin-top:var(--sp-4);position:relative;font-size:var(--fs-sm)}.academy-cta{background:linear-gradient(180deg,var(--color-surface) 0%,rgba(255,102,0,.05) 100%)}.share-card{border:1px solid rgba(255,102,0,.35);background:radial-gradient(circle at right top,rgba(255,102,0,.06),transparent 60%),var(--color-surface)}.share-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.share-btn{flex:1 1 calc(33% - var(--sp-2));min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:#fff;font-weight:600;text-decoration:none;transition:filter .12s ease,transform .12s ease}.share-btn:hover{filter:brightness(1.1)}.share-btn:active{transform:scale(.98)}.scenario-card,.summary{animation:card-fade .32s ease-out both}@keyframes card-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.event-chip{animation:chip-pop .28s ease-out both}@keyframes chip-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
