:root{--brand:#0f6e56;--brand-light:#e1f5ee;--brand-border:#5dcaa5;--brand-text:#085041;--bg:#f5f7fa;--card:#fff;--text:#111827;--muted:#6b7280;--line:#0000001a;--line-strong:#0003;--warn-bg:#faeeda;--warn-text:#633806;--error-bg:#fdecec;--error-text:#8a1c1c;--r-sm:6px;--r-md:8px;--r-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.45;display:flex}a{color:var(--brand)}button{font:inherit}.site-header{background:var(--card);border-bottom:1px solid var(--line)}.site-header-inner{justify-content:space-between;align-items:center;gap:12px;max-width:520px;margin:0 auto;padding:12px 16px;display:flex}.station-mark{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.station-mark img{object-fit:contain;width:auto;max-width:140px;height:40px}.station-badge{background:var(--brand);color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.station-name{font-size:15px;font-weight:700}.station-sub{color:var(--muted);font-size:11px}.account{color:var(--muted);text-align:right;min-width:0;max-width:45%;font-size:12px}.account-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account button{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}main{flex:1;width:100%;max-width:520px;margin:0 auto;padding:20px 16px 40px}.site-footer{text-align:center;color:var(--muted);padding:20px 16px 28px;font-size:11px}.site-footer a{color:var(--muted)}.prog{align-items:center;margin-bottom:20px;display:flex}.prog-step{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.prog-step.active{color:var(--text);font-weight:600}.prog-step.done{color:var(--brand)}.prog-dot{border:1.5px solid var(--line-strong);background:var(--card);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10px;font-weight:600;display:grid}.prog-step.active .prog-dot{border-color:var(--brand);background:var(--brand);color:#fff}.prog-step.done .prog-dot{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.prog-line{background:var(--line);flex:1;height:1.5px;margin:0 4px}.prog-line.done{background:var(--brand)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 16px}.card+.card{margin-top:12px}.card-title{margin-bottom:4px;font-size:17px;font-weight:650}.card-sub{color:var(--muted);margin-bottom:18px;font-size:13px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:12px;font-weight:600}.notice{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);margin-top:12px;padding:10px 12px;font-size:12px}.warning{color:var(--warn-text);background:var(--warn-bg);border-radius:var(--r-md);margin-top:10px;padding:10px 12px;font-size:13px}.error{color:var(--error-text);background:var(--error-bg);border-radius:var(--r-md);margin-top:10px;padding:10px 12px;font-size:13px}.btn{border-radius:var(--r-md);cursor:pointer;text-align:center;border:none;width:100%;margin-top:12px;padding:14px;font-size:15px;font-weight:600;text-decoration:none;display:block}.btn-primary{background:var(--brand);color:#fff}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{border:1px solid var(--line-strong);color:var(--muted);background:0 0;margin-top:8px}.field{margin-bottom:12px}.field label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--muted);margin-top:3px;font-size:11px}.field input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);width:100%;padding:11px 12px;font-size:15px}.field input:focus{outline:2px solid var(--brand-border);border-color:var(--brand)}.field textarea{width:100%;font:inherit;resize:vertical;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);padding:11px 12px;font-size:15px}.field textarea:focus{outline:2px solid var(--brand-border);border-color:var(--brand)}.field .optional{color:var(--muted);font-weight:400}.choices{flex-direction:column;gap:8px;margin-bottom:6px;display:flex}.choices.compact{flex-flow:wrap}.choices.compact .choice{flex:140px;padding:10px 12px}.choice{text-align:left;border-radius:var(--r-md);cursor:pointer;border:1.5px solid var(--line-strong);background:var(--card);color:var(--text);padding:14px}.choice:hover{border-color:var(--brand)}.choice.on{border-color:var(--brand);background:var(--brand-light)}.choice b{font-size:15px;display:block}.choice small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.script-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.versions{gap:4px;display:flex}.versions button{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;width:30px;height:30px;color:var(--muted);border-radius:50%;font-size:12px}.versions button.on{background:var(--brand);border-color:var(--brand);color:#fff}.script-big{margin-top:14px;font-size:16px;line-height:1.55}.writing{background:var(--brand-light);border-radius:var(--r-md);align-items:flex-start;gap:12px;margin-top:12px;padding:12px;font-size:14px;display:flex}.spinner{border:2.5px solid var(--brand-border);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.link-button{color:var(--brand);cursor:pointer;background:0 0;border:none;margin:-4px 0 4px;padding:0;font-size:13px}.tabs{background:var(--bg);border-radius:var(--r-md);gap:4px;margin-bottom:18px;padding:4px;display:flex}.tabs button{border-radius:var(--r-sm);cursor:pointer;color:var(--muted);background:0 0;border:none;flex:1;padding:9px;font-size:14px}.tabs button.on{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000014}.lengths{gap:8px;margin-bottom:16px;display:flex}.lengths button{border-radius:var(--r-md);cursor:pointer;border:1.5px solid var(--line-strong);background:var(--card);flex:1;padding:10px 6px;font-size:14px;font-weight:600}.lengths button.on{border-color:var(--brand);background:var(--brand-light);color:var(--brand-text)}.lengths small{color:var(--muted);font-size:11px;font-weight:400;display:block}.dp{border:1.5px solid var(--line);border-radius:var(--r-md);margin-bottom:8px;overflow:hidden}.dp.on{border-color:var(--brand)}.dp-head{background:var(--card);cursor:pointer;text-align:left;border:none;align-items:center;gap:10px;width:100%;min-height:60px;padding:12px;display:flex}.dp.on .dp-head{background:var(--brand-light)}.dp-check{border:1.5px solid var(--line-strong);background:var(--card);border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.dp.on .dp-check{background:var(--brand);border-color:var(--brand)}.dp-info{flex:1;min-width:0}.dp-name{font-size:14px;font-weight:600}.dp-when{color:var(--muted);font-size:12px}.dp-price{white-space:nowrap;font-size:13px;font-weight:600}.dp-price small{color:var(--muted);font-weight:400}.dp-body{border-top:1px solid var(--line);background:var(--bg);padding:12px}.spots-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.spots-label{font-size:13px;font-weight:600}.spots-label small{color:var(--muted);font-size:11px;font-weight:400;display:block}.stepper{align-items:center;display:flex}.stepper button{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;width:36px;height:36px;color:var(--muted);font-size:18px}.stepper button:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.stepper button:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper span{background:var(--card);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);place-items:center;width:44px;height:36px;font-weight:600;display:grid}.date-tags{flex-wrap:wrap;gap:5px;min-height:24px;margin-bottom:6px;display:flex}.date-tag{background:var(--brand-light);color:var(--brand-text);border:1px solid var(--brand-border);border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;display:inline-flex}.date-tag button{cursor:pointer;color:var(--brand);background:0 0;border:none;font-size:14px;line-height:1}.no-dates{color:var(--muted);font-size:12px;font-style:italic}.line-total{color:var(--muted);text-align:right;margin-top:8px;font-size:12px}.line-total b{color:var(--brand)}.cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);margin-top:6px;padding:10px}.cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal-month{font-size:13px;font-weight:600}.cal-nav{border:1px solid var(--line-strong);border-radius:var(--r-sm);cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0}.cal-nav:disabled{opacity:.3;cursor:not-allowed}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-dow{color:var(--muted);text-align:center;padding:4px 0;font-size:10px;font-weight:600}.cal-day{aspect-ratio:1;background:var(--bg);cursor:pointer;color:var(--text);border:1.5px solid #0000;border-radius:5px;font-size:12px}.cal-day.empty{cursor:default;background:0 0}.cal-day:disabled{opacity:.28;cursor:not-allowed}.cal-day.picked{background:var(--brand);border-color:var(--brand);color:#fff}.cal-note{color:var(--muted);margin-top:8px;font-size:11px}.totals{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding:12px;display:flex}.totals-label,.totals-detail{color:var(--muted);font-size:12px}.totals-amount{font-size:22px;font-weight:700}.sum-block{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:8px;padding:10px 12px}.sum-name{margin-bottom:4px;font-size:14px;font-weight:600}.sum-row{justify-content:space-between;gap:12px;padding:2px 0;font-size:13px;display:flex}.sum-row .lbl{color:var(--muted)}.sum-row .val{text-align:right;font-weight:600}.sum-total{border-top:1px solid var(--line-strong);justify-content:space-between;margin-top:6px;padding:12px 0 4px;font-size:18px;font-weight:700;display:flex}.confirm{text-align:center}.confirm-icon{background:var(--brand-light);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 14px;display:grid}.confirm-title{margin-bottom:6px;font-size:20px;font-weight:700}.confirm-sub{color:var(--muted);margin-bottom:18px;font-size:14px}.steps-next{text-align:left;margin-top:8px;padding-left:18px;font-size:13px}.steps-next li{margin-bottom:6px}.manage-head{margin-bottom:12px}.back-link{margin-bottom:10px;font-size:13px;text-decoration:none;display:inline-block}.order-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;text-decoration:none;display:flex}.order-row:hover{border-color:var(--brand)}.order-row-main{flex:1;min-width:0}.order-row-name{font-size:15px;font-weight:650}.order-row-meta{color:var(--muted);margin-top:3px;font-size:12px}.order-row-total{font-size:18px;font-weight:700}.pill{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill-wait{background:var(--warn-bg);color:var(--warn-text)}.pill-good{background:var(--brand-light);color:var(--brand-text)}.pill-bad{background:var(--error-bg);color:var(--error-text)}.review-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-total{font-size:24px;font-weight:700}.script{background:var(--bg);border-left:3px solid var(--brand);border-radius:var(--r-sm);margin-top:12px;padding:12px 14px;font-size:14px}.script p+p{margin-top:6px}.decision{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:13px}.decision-good{color:var(--brand-text)}.decision-bad{color:var(--error-text)}.decision .reason{color:var(--text);margin-top:6px;font-style:italic}.decision-buttons{gap:8px;display:flex}.decision-buttons .btn{margin-top:10px}.btn-danger{background:var(--card);color:var(--error-text);border:1.5px solid var(--error-text)}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.confirm-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;font-size:14px}.confirm-box .hint{color:var(--muted);margin:2px 0 8px;font-size:12px}.confirm-box textarea{width:100%;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-md);resize:vertical;padding:10px 12px;font-size:14px}main:has(.wide){max-width:820px}.grid-week+.grid-week{margin-top:16px}.grid-run{color:var(--muted);margin-bottom:6px;font-size:13px}.grid-run b{color:var(--text)}.grid-scroll{overflow-x:auto}.grid{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.grid th,.grid td{border:1px solid var(--line);text-align:center;vertical-align:middle;padding:6px}.grid th{background:var(--bg);color:var(--muted);font-size:12px;font-weight:600}.grid th small{font-size:10px;font-weight:400;display:block}.grid .grid-dp{text-align:left;color:var(--text);white-space:nowrap;font-weight:600}.grid th.grid-dp{color:var(--muted)}.grid .grid-dp small{color:var(--muted);font-size:11px;font-weight:400;display:block}.grid .grid-rate{white-space:nowrap}.grid .grid-day{width:36px}.grid td.grid-day.on{background:var(--brand-light);color:var(--brand-text);font-weight:700}.grid .grid-num{white-space:nowrap;text-align:right}.grid-total{border-top:1px solid var(--line-strong);justify-content:space-between;margin-top:10px;padding-top:8px;font-size:14px;display:flex}.hero{text-align:center;padding:16px 0 8px}.hero h1{margin-bottom:10px;font-size:26px;line-height:1.2}.hero p{color:var(--muted);font-size:15px}.dev-box{border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--muted);margin-top:24px;padding:12px;font-size:12px}.sound-page{padding-bottom:110px}.pick-list{flex-direction:column;gap:8px;display:flex}.pick-row{border:1.5px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);align-items:center;gap:4px;min-height:60px;padding:6px 12px 6px 6px;display:flex}.pick-row.on{border-color:var(--brand);background:var(--brand-light)}.play{cursor:pointer;border:1.5px solid var(--brand);background:var(--card);width:48px;height:48px;color:var(--brand);border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;display:grid}.play.playing{background:var(--brand);color:#fff}.play:disabled{opacity:.3;cursor:not-allowed}.pick-main{text-align:left;cursor:pointer;min-width:0;min-height:48px;color:var(--text);background:0 0;border:none;flex:1;padding:4px 8px}.pick-name{font-size:16px;font-weight:600;display:block}.pick-detail{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.35;display:block}.pick-detail b{font-weight:600}.pick-check{width:20px;color:var(--brand);text-align:center;font-size:18px;font-weight:700}.spinner.small{border-color:#fff #ffffff80 #ffffff80;width:16px;height:16px;margin:0}.pick-bar{z-index:10;background:var(--card);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000f}.pick-bar-inner{max-width:488px;margin:0 auto}.pick-bar-text{text-align:center;font-size:13px;font-weight:600}.pick-bar-text .missing{color:var(--muted);font-weight:400}.pick-bar .btn{margin-top:8px}.field input,.field textarea,.confirm-box textarea{font-size:16px}@media (max-width:400px){.prog-step:not(.active) span{display:none}}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:520px;max-height:92vh;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:.2s ease-out sheet-up;position:relative;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet .card-title{padding-right:36px}.sheet-close{background:var(--bg);width:40px;height:40px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;font-size:22px;position:absolute;top:10px;right:10px}.sheet-switch{text-align:center;width:100%;margin:16px 0 4px;padding:8px;font-size:14px;display:block}.player{align-items:center;gap:14px;margin:16px 0 4px;display:flex}.play.big{border-width:2px;width:68px;height:68px;font-size:24px}.player-track{flex:1;min-width:0}.player-track input[type=range]{width:100%;accent-color:var(--brand);height:28px}.player-times{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.confirm-notice{margin:14px 0 4px;line-height:1.45}.confirm-notice .hint{margin-top:6px;font-size:12px}.confirm-notice-actions{gap:18px;margin-top:8px;display:flex}.confirm-notice-actions .link-button{margin:0;padding:6px 0;font-size:14px;font-weight:600}.rate-card{padding-bottom:12px}.rate-head{margin-bottom:6px}.rate-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:8px 0;display:flex}.rate-len{width:34px;font-size:15px;font-weight:700}.rate-input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);align-items:center;gap:4px;width:112px;padding:0 10px;display:flex}.rate-input:focus-within{outline:2px solid var(--brand-border);border-color:var(--brand)}.rate-input span{color:var(--muted)}.rate-input input{background:0 0;border:none;outline:none;width:100%;padding:11px 0;font-size:16px}.rate-pays{text-align:right;color:var(--muted);flex:1;font-size:12px;line-height:1.3}.rate-pays b{color:var(--text);font-size:15px}.rate-pays .missing{font-style:italic}.field input[type=date]{font-size:16px}.rates-station{margin:4px 0 12px;font-size:22px;font-weight:700;line-height:1.2}.rates-station span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600;display:block}.rates-station small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.ready-line{color:var(--brand-text);margin:12px 0 0;font-size:15px;font-weight:600}.header-preview{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);margin-top:10px;padding:12px}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.color-row{align-items:center;gap:10px;display:flex}.color-row input[type=color]{border:1px solid var(--line-strong);border-radius:var(--r-md);background:0 0;width:52px;height:46px;padding:2px}.color-sample{cursor:default}
