*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--red: #C8292F;--red-dark: #A5202A;--red-light: #FFF0F0;--green: #2A6B2E;--green-dark: #1E5223;--green-light: #EBF5EC;--amber: #D97706;--amber-light: #FFFBEB;--bg: #EFF4EF;--white: #FFFFFF;--text: #1A1A1A;--text-muted: #6B7A6B;--border: #D6E5D6;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 8px 28px rgba(0,0,0,.12);--radius: 16px;--font: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.site-header{text-align:center;padding:2.5rem 1rem 2rem;background:var(--green);border-bottom:4px solid var(--green-dark)}.logo-badge{display:inline-block;background:var(--red);color:var(--white);font-size:1.5rem;font-weight:900;padding:.4rem 1.5rem;border-radius:50px;letter-spacing:.08em;margin-bottom:.4rem}.logo-sub{font-size:.7rem;font-weight:700;letter-spacing:.35em;color:#ffffffb3;text-transform:uppercase;margin-bottom:.6rem}.site-header .tagline{font-size:.85rem;color:#ffffffd1;font-weight:400;margin-bottom:.6rem}.disclaimer{display:inline-block;background:#0003;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);padding:.25rem .75rem;font-size:.72rem;border-radius:50px;font-weight:500}.container{max-width:560px;margin:0 auto;padding:0 1rem}.main-content{padding:1.75rem 1rem 3rem}.form-section{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--green);padding:1.75rem;margin-bottom:1.25rem}.form-section h2{font-size:.88rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.field{margin-bottom:1.25rem}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:.45rem;color:var(--text)}.field input[type=number],.field textarea{width:100%;border:1.5px solid var(--border);padding:.7rem .9rem;font-family:var(--font);font-size:1rem;background:var(--white);border-radius:10px;outline:none;color:var(--text);transition:border-color .15s,box-shadow .15s}.field input[type=number]:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2a6b2e1f}.field textarea{height:80px;resize:vertical}.level-group{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.level-option{position:relative}.level-option input[type=radio]{position:absolute;opacity:0;width:0}.level-option label{display:block;border:1.5px solid var(--border);padding:.75rem .4rem;text-align:center;cursor:pointer;font-size:.85rem;color:var(--text);background:var(--white);border-radius:10px;transition:all .15s;line-height:1.5;-webkit-user-select:none;user-select:none}.level-option input[type=radio]:checked+label{background:var(--red);color:var(--white);border-color:var(--red);font-weight:700;box-shadow:0 2px 8px #c8292f4d}.level-option label:hover{border-color:var(--red);background:var(--red-light)}.level-option.economical label{border-color:var(--green);color:var(--green-dark)}.level-option.economical input[type=radio]:checked+label{background:var(--green);color:var(--white);border-color:var(--green);box-shadow:0 2px 8px #2a6b2e4d}.level-option.economical label:hover{background:var(--green-light);border-color:var(--green)}.level-option.bankrupt label{border-color:#f59e0b;color:#92400e}.level-option.bankrupt input[type=radio]:checked+label{background:var(--amber);color:var(--white);border-color:var(--amber);box-shadow:0 2px 8px #d977064d}.level-option.bankrupt label:hover{background:var(--amber-light);border-color:#f59e0b}.level-desc{font-size:.72rem;color:var(--text-muted);margin-top:.5rem;line-height:1.5}.btn-submit{width:100%;border:none;background:var(--red);color:var(--white);font-family:var(--font);font-size:1.1rem;font-weight:700;padding:1rem;cursor:pointer;border-radius:50px;margin-top:.5rem;letter-spacing:.05em;box-shadow:0 4px 16px #c8292f66;transition:background .15s,box-shadow .15s,transform .15s}.btn-submit:hover{background:var(--red-dark);box-shadow:0 6px 24px #c8292f80;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0);box-shadow:0 2px 8px #c8292f66}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}#result{display:none}#result.visible{display:block}.result-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--green);padding:1.75rem;margin-bottom:1.25rem}.result-card h2{font-size:.88rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.result-message{background:var(--red-light);border-left:3px solid var(--red);padding:.6rem .85rem;margin-bottom:1.25rem;font-size:.88rem;color:var(--red);border-radius:0 8px 8px 0;font-style:italic;font-weight:500}.order-table{width:100%;border-collapse:collapse;font-size:.88rem}.order-table thead tr{border-bottom:1.5px solid var(--border)}.order-table th{text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:0 .5rem .6rem}.order-table td{padding:.7rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.order-table td.price,.order-table th.price{text-align:right;font-weight:600}.order-table tbody tr:last-child td{border-bottom:none}.order-table tbody tr:hover{background:#fafafa}.order-reason{font-size:.73rem;color:var(--text-muted);margin-top:.2rem}.total-row{border-top:1.5px solid var(--border)!important;background:#fafafa}.total-row td{padding:.85rem .5rem!important;border-bottom:none!important;font-weight:700;font-size:1.05rem}.over-budget{color:var(--red)}.loading-indicator{display:none;text-align:center;padding:2.5rem 1rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;color:var(--red);font-weight:700;font-size:.95rem}.loading-indicator.visible{display:block}.error-card{background:var(--red-light);border:1.5px solid rgba(200,41,47,.25);padding:.9rem 1.1rem;color:var(--red);margin-bottom:1.25rem;border-radius:10px;font-weight:500;font-size:.9rem;display:none}.error-card.visible{display:block}.api-hint{font-size:.73rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:1rem;margin-top:2rem;line-height:1.8}.api-hint code{background:#f0f0f0;color:var(--red);padding:.15em .4em;border-radius:4px;font-family:Courier New,monospace;font-size:.88em}@media(max-width:480px){.site-header{padding:2rem 1rem 1.5rem}.logo-badge{font-size:1.3rem}.level-group{grid-template-columns:1fr}.form-section,.result-card{padding:1.25rem}}
