:root{color-scheme:light;--ink: #241f1b;--ink-soft: #574f47;--muted: #8a8077;--line: #e9e2d7;--bg: #f4efe8;--paper: #fcfaf7;--card: #ffffff;--plum: #6d2a3e;--plum-strong: #571f30;--plum-tint: #f6ecee;--gold: #a8813b;--gold-soft: #c39a52;--gold-tint: #f6efdf;--accent: var(--plum);--danger: #b3261e;--danger-soft: #fbeceb;--ok: #2f6b3a;--ok-soft: #eaf2ec;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(60, 40, 30, .05), 0 10px 30px rgba(60, 40, 30, .08);--shadow-soft: 0 1px 2px rgba(60, 40, 30, .04), 0 4px 14px rgba(60, 40, 30, .05);--ring: 0 0 0 3px rgba(168, 129, 59, .28);--font-display: "Iowan Old Style", "Palatino Linotype", "Palatino", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", sans-serif;--tg-bg: var(--bg);--tg-secondary-bg: var(--paper);--tg-text: var(--ink);--tg-hint: var(--muted);--tg-button: var(--plum);--tg-button-text: #fff}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--tg-bg);color:var(--tg-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:env(safe-area-inset-bottom)}.brand,.done-title,.interview-section-title,.coc-heading,.room-header-title{font-family:var(--font-display)}button,input,textarea{font-family:inherit;font-size:1rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;width:100%;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--tg-secondary-bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-size:1.05rem;letter-spacing:.02em;font-weight:600;color:var(--tg-text)}.brand-sub{color:var(--gold);font-weight:400;margin-left:6px}.navsave-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;min-height:34px;border:1px solid var(--tg-text);border-radius:999px;background:var(--tg-text);color:var(--tg-bg);font-size:.8rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;cursor:pointer}.navsave-arrow{font-size:1.05rem;line-height:1}.navsave-btn:disabled{opacity:.6;cursor:default}.lang-switch{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;background:transparent}.lang-switch-icon{display:none}.lang-opt{border:none;background:transparent;color:var(--ink-soft);border-radius:999px;padding:6px 10px;min-height:34px;cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.01em;transition:background .15s ease,color .15s ease}.lang-opt.is-active{background:var(--ink);color:var(--paper)}.topbar-controls{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin-left:auto}.theme-switch{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;background:transparent}.theme-opt{border:none;background:transparent;color:var(--ink-soft);border-radius:999px;min-width:36px;min-height:34px;cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.topbar-controls,.navsave-btn{flex-shrink:0}.brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:480px){.topbar{padding-left:12px;padding-right:12px;gap:6px}.topbar-controls{gap:6px}.lang-switch{padding:2px}.lang-opt{padding:6px 8px;min-height:32px;font-size:.74rem}.theme-opt{min-width:34px;min-height:32px;font-size:.95rem}.navsave-btn{padding:7px 11px;font-size:.78rem}}@media(max-width:380px){.lang-opt{padding:6px 7px;font-size:.72rem}.theme-opt{min-width:30px}.navsave-btn{padding:6px 10px;font-size:.74rem;gap:4px}}.theme-opt.is-active{background:var(--ink);color:var(--paper)}.content{flex:1;width:100%;max-width:480px;margin:0 auto;padding:20px 16px calc(env(safe-area-inset-bottom) + 32px)}.field{margin-bottom:20px}.field label,.field legend{display:block;font-size:.92rem;font-weight:600;color:var(--tg-text);margin-bottom:6px;padding:0}fieldset.field{border:none;padding:0;margin:0 0 20px}.req{color:var(--gold)}.help{color:var(--tg-hint);font-size:.85rem;margin:0 0 8px;line-height:1.4}.field input[type=text],.field input[type=email],.field input[type=number],.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);min-height:48px;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{min-height:96px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.85rem;margin:6px 0 0}.radio-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.radio-option{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:110px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;min-height:48px;background:var(--card);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.radio-option:hover{border-color:var(--gold-soft)}.radio-option:has(input:checked){border-color:var(--plum);background:var(--plum-tint);box-shadow:inset 0 0 0 1px var(--plum)}.radio-option input{width:20px;height:20px;accent-color:var(--plum);flex-shrink:0}.select-combobox{position:relative}.select-control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-height:48px;text-align:left;cursor:pointer}.select-control:disabled{opacity:.55;cursor:default}.select-control:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring)}.select-control[aria-invalid=true]{border-color:var(--danger)}.select-control-value{color:var(--ink)}.select-control-placeholder{color:var(--tg-hint)}.select-control-chevron{color:var(--tg-hint);flex-shrink:0;font-size:.8rem}.select-panel{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.select-search{width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);min-height:44px}.select-search:focus{outline:none;box-shadow:inset 0 -2px 0 var(--gold)}.select-options{list-style:none;margin:0;padding:4px;max-height:260px;overflow-y:auto}.select-option{padding:11px 12px;min-height:40px;display:flex;align-items:center;border-radius:8px;color:var(--ink);cursor:pointer}.select-option.is-highlighted{background:var(--line)}.select-option.is-selected{background:var(--ink);color:var(--paper);font-weight:600}.select-option-empty{color:var(--tg-hint);cursor:default}.select-option-empty:hover{background:none}.languages-field select{width:100%;padding:12px 40px 12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--card);color:var(--ink);min-height:48px;cursor:pointer;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a8813b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.languages-field select:hover{border-color:var(--gold-soft)}.languages-field select:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring)}:root[data-color-scheme=dark] .languages-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d6ac6a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.languages-rows{display:flex;flex-direction:column;gap:10px}.language-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px}.language-row-additional{grid-template-columns:1fr 1fr auto}.language-row-name{font-size:.92rem;color:var(--tg-text)}.language-row-other-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-height:48px}.language-row-other-input:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring)}.language-row-remove{border:1px solid var(--line);background:var(--paper);color:var(--tg-text);border-radius:10px;width:40px;height:40px;min-height:40px;font-size:1.1rem;line-height:1;cursor:pointer}.language-add{display:flex;gap:8px;margin-top:12px}.language-add select{flex:1 1 auto}.language-add-btn{flex-shrink:0;min-height:48px;padding:0 16px}.btn-secondary{background:var(--paper);color:var(--tg-text);border:1px solid var(--line)}.btn-invert{background:var(--tg-text);color:var(--tg-bg);border:1px solid var(--tg-text)}.interview-intro{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.interview-intro .done-title{text-align:center}.interview-framing{margin:4px 0 0;padding:12px 14px;border-left:3px solid var(--tg-button, var(--accent));background:var(--tg-secondary-bg, var(--paper));border-radius:8px;font-size:.95rem;line-height:1.5;color:var(--tg-text)}.interview-save-note{margin:0;font-size:.85rem;color:var(--tg-hint, var(--muted));text-align:center}.interview-section{margin:0 0 28px;padding-top:20px;border-top:1px solid var(--line)}.interview-section:first-of-type{border-top:none;padding-top:0}.interview-section-title{font-size:1rem;font-weight:700;margin:0 0 16px;color:var(--tg-text)}.coc-field{border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.coc-label{display:flex;align-items:flex-start;gap:10px;font-weight:600;cursor:pointer}.coc-label input{width:22px;height:22px;margin-top:2px;accent-color:var(--gold);flex-shrink:0}.coc-view-btn{width:100%;margin-bottom:12px}.coc-screen{display:flex;flex-direction:column;gap:12px;text-align:left}.coc-screen .done-title{text-align:center}.coc-intro{text-align:center;color:var(--tg-hint);background:none;border:none;box-shadow:none;padding:0;white-space:normal}.coc-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--tg-bg);overflow-y:auto;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 32px)}.coc-modal:focus{outline:none}.coc-text{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow)}.coc-section{margin-bottom:26px}.coc-section:last-child{margin-bottom:0}.coc-heading{font-size:1rem;font-weight:700;margin:0 0 10px;color:var(--tg-text)}.coc-paragraph{margin:0 0 12px;line-height:1.75;color:var(--tg-text)}.coc-paragraph:last-child{margin-bottom:0}.coc-bullets{margin:0;padding-left:20px;line-height:1.75}.coc-bullets li{margin-bottom:10px}.coc-bullets li:last-child{margin-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);padding:13px 18px;border:1px solid transparent;cursor:pointer;font-weight:600;letter-spacing:.01em;min-height:50px;transition:opacity .15s ease,transform .08s ease,background .15s ease,border-color .15s ease;text-decoration:none;text-align:center}.btn:disabled{opacity:.55;cursor:default}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--plum);color:#fff;box-shadow:0 6px 16px -6px #6d2a3e99}.btn-primary:not(:disabled):hover{background:var(--plum-strong)}.btn-block{width:100%;margin-top:8px}.state-screen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:48px 8px}.spinner{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.done-title{font-size:1.3rem;margin:0}.done-message{color:var(--tg-text);white-space:pre-wrap;line-height:1.6;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.alert{border-radius:var(--radius);padding:12px 16px;margin:4px 0 16px;font-size:.92rem;line-height:1.4}.alert-error{background:var(--danger-soft);color:var(--danger)}.room-flow{display:flex;flex-direction:column;gap:16px}.room-screen{display:flex;flex-direction:column;gap:12px;text-align:left}.room-cycle-banner{text-align:center;color:var(--tg-hint);font-size:.85rem;margin:0}.room-step{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.room-step-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-step-label{font-weight:700}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600}.badge-ok{background:var(--ok);color:#fff}.btn-danger{background:var(--danger);color:#fff}.room-actions{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:16px}.room-session-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.room-session-form input[type=date],.room-session-form input[type=time]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-height:48px}.chat-room{gap:10px}.call-actions{display:flex;flex-wrap:wrap;gap:8px}.call-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;background:var(--tg-text);color:var(--tg-bg);border:1px solid var(--tg-text)}.call-action-btn svg{flex-shrink:0}.call-action-join{background:var(--tg-text);color:var(--tg-bg);border-color:var(--tg-text)}.call-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.call-bar-status{color:var(--tg-hint);font-size:.92rem}.call-bar-end{flex-shrink:0;min-height:40px;padding:8px 16px}.call-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#000;display:flex;align-items:center;justify-content:center}.call-fs-remote{width:100%;height:100%;object-fit:cover;background:#000}.call-fs-local{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;width:28vw;max-width:130px;aspect-ratio:3 / 4;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,.7);background:#111;box-shadow:0 4px 14px #00000080}.call-fs-status{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;color:#fff;font-size:1rem;padding:0 24px}.call-fs-end{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);min-width:180px;min-height:52px;border-radius:26px}.chat-history{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding:10px 4px}.chat-bubble{align-self:flex-start;max-width:80%;background:var(--paper);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:10px 14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-bubble-mine{align-self:flex-end;background:var(--tg-button, var(--accent));color:var(--tg-button-text, #fff);border-color:transparent;border-radius:14px 14px 4px}.chat-typing{margin:0}.chat-composer{display:flex;gap:8px;position:sticky;bottom:0;background:var(--tg-bg);padding-top:6px}.chat-input{flex:1 1 auto;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-height:48px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000080;display:flex;align-items:flex-end}.modal-panel{width:100%;max-height:92vh;overflow-y:auto;background:var(--tg-bg);border-radius:16px 16px 0 0;padding:20px 16px calc(env(safe-area-inset-bottom) + 24px);display:flex;flex-direction:column;gap:10px}.clock-picker-panel{align-items:stretch}.clock-dial-wrap{display:flex;justify-content:center;padding:12px 0 4px}.clock-dial{position:relative;width:260px;height:260px;border-radius:50%;background:var(--paper);border:1px solid var(--line)}.clock-dial-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.15rem;font-weight:600;color:var(--ink);min-width:64px;text-align:center}.clock-dial-item{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;transform-origin:center}.clock-dial-item:hover,.clock-dial-item:focus-visible{border-color:var(--line);outline:none}.clock-dial-item.is-selected{background:var(--tg-button, var(--accent));color:var(--tg-button-text, #fff)}.clock-picker-actions{display:flex;flex-direction:column;gap:8px}:root[data-color-scheme=dark]{color-scheme:dark;--bg: #17120e;--paper: #201a15;--card: #26201a;--line: #382e25;--ink: #f4ece2;--ink-soft: #d2c7ba;--muted: #a99e90;--plum: #9c4257;--plum-strong: #b0566b;--plum-tint: #2b1d22;--gold: #d6ac6a;--gold-soft: #b98f4d;--gold-tint: #2a2417;--danger: #f0857c;--danger-soft: #2c1a18;--ok: #7bbe88;--ok-soft: #1c2a1f;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 34px rgba(0, 0, 0, .5);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 16px rgba(0, 0, 0, .4);--ring: 0 0 0 3px rgba(214, 172, 106, .32)}.session-clock{display:flex;flex-direction:column;align-items:center;gap:10px;margin:16px 0 4px}.session-clock-caption{font-size:.9rem;color:var(--tg-hint);text-align:center}.flip-clock{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.flip-unit{position:relative;background:var(--tg-text);color:var(--tg-bg);font-size:clamp(1.4rem,7vw,2rem);font-weight:700;line-height:1;padding:.14em .12em;min-width:1.4em;text-align:center;border-radius:9px;box-shadow:0 3px 10px #0000004d}.flip-unit:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-1px);background:var(--tg-bg);opacity:.22}.flip-sep{font-size:clamp(1.1rem,5vw,1.5rem);font-weight:700;color:var(--tg-text)}@keyframes gk-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.state-screen,.coc-screen,.interview-intro,.room-header{animation:gk-fade-up .4s ease both}@media(prefers-reduced-motion:reduce){.state-screen,.coc-screen,.interview-intro,.room-header,.btn:not(:disabled):active{animation:none;transition:none}}.done-title{font-size:1.5rem;line-height:1.25;letter-spacing:.01em}.state-screen{gap:16px;padding-top:40px}.brand-rule{width:46px;height:2px;border:none;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));margin:2px auto 6px}.interview-progress{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:10px}.interview-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.interview-progress-label{font-size:.9rem;font-weight:600;color:var(--tg-text)}.interview-progress-count{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.progress-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold-soft),var(--gold));transition:width .35s ease;min-width:6px}.interview-section-title{display:flex;align-items:center;gap:10px}.interview-section-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--plum-tint);color:var(--plum);border:1px solid var(--plum);font-family:var(--font-body);font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.room-header{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.room-header-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--plum);background:radial-gradient(circle at 50% 30%,var(--gold-tint),transparent 70%),var(--plum-tint);border:1px solid var(--line)}.room-header-avatar svg{width:22px;height:22px}.room-header-info{min-width:0;display:flex;flex-direction:column;gap:1px}.room-header-title{font-size:1.05rem;line-height:1.25;font-weight:600;color:var(--tg-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-header-sub{font-size:.82rem;color:var(--muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-gold{background:var(--gold-tint);color:var(--gold);border:1px solid var(--gold-soft)}.room-cycle-banner{align-self:center;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px 14px;width:fit-content}
