:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Noto Sans CJK SC,sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #ffffff;--ink: #1d1d1f;--muted: #6e6e73;--line: rgba(29, 29, 31, .1);--surface: #f5f5f7;--accent: #0071e3;--accent-strong: #0066cc;--danger: #ff3b30}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;min-height:100dvh;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{position:relative;width:min(100%,480px);min-height:100dvh;margin:0 auto;overflow:hidden;background:var(--paper);box-shadow:0 0 60px #0000000f}.scene-stack{min-height:100dvh}.scene{position:relative;min-height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;padding:max(38px,env(safe-area-inset-top)) 28px max(42px,env(safe-area-inset-bottom));scrollbar-width:none;animation:scene-in .48s cubic-bezier(.22,.8,.28,1)}.hand-left .scene{padding-inline:28px}.scene::-webkit-scrollbar{display:none}@keyframes scene-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash{min-height:100dvh;display:grid;place-content:center;text-align:center;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:24px;color:#fff;background:var(--ink);font-size:28px}.scene-heading>p,.profile-hero>p,.eyebrow{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.scene-heading h1{margin:0;max-width:320px;font-size:clamp(34px,10vw,46px);font-weight:650;line-height:1.08;letter-spacing:-.045em}.capture-scene{overflow:hidden}.capture-content{min-height:100%}.capture-hero{position:relative;z-index:1}.capture-view{min-height:100dvh}.capture-scene .scene-heading{position:relative;z-index:2}.capture-scene .scene-heading p:before{content:"";display:inline-block;width:18px;height:1px;margin:0 8px 3px 0;background:currentColor}.capture-scene{display:flex;flex-direction:column}.capture-content{flex:1}.capture-scene>.capture-center{flex:1}.capture-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding-bottom:16px}.capture-center>p{margin:16px 0 0;color:var(--muted);font-size:12px;letter-spacing:.06em}.record-button{position:relative;display:grid;place-items:center;width:112px;height:112px;padding:0;border:1px solid rgba(29,29,31,.08);border-radius:50%;background:#fff;box-shadow:0 12px 36px #0000001a,inset 0 0 0 8px #f5f5f7;transition:transform .25s ease,border-color .25s ease}.record-button:active{transform:scale(.96)}.record-button:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(29,29,31,.06);border-radius:inherit}.record-button span{width:68px;height:68px;border-radius:50%;background:var(--ink);box-shadow:0 6px 16px #0000002e;transition:all .3s ease}.record-button.recording{border-color:#ba5a4f3d}.record-button.recording span{width:48px;height:48px;border-radius:16px;background:var(--danger)}.timer{margin-bottom:20px;color:#86868b;font-size:19px;font-weight:500;letter-spacing:.16em;transition:color .2s}.timer.active{color:var(--danger)}.sound-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:24px;margin-bottom:7px;opacity:0;transition:opacity .25s}.sound-wave.active{opacity:1}.sound-wave i{width:2px;height:4px;border-radius:4px;background:var(--danger);animation:wave .9s ease-in-out infinite alternate;animation-delay:calc(var(--node-index, var(--node-index)) * 20ms)}.sound-wave i:nth-child(3n){animation-delay:.15s}.sound-wave i:nth-child(4n){animation-delay:.3s}@keyframes wave{to{height:21px}}.more-button{display:flex;align-items:center;gap:9px;margin-top:18px;padding:9px 14px;border:0;border-radius:18px;color:var(--muted);background:var(--surface);font-size:12px;letter-spacing:.08em;opacity:1}.more-button.visible,.more-button:hover{opacity:1}.more-button span{font-size:17px;font-weight:300}.error{color:var(--danger)}.error-message{max-width:260px;color:var(--danger)!important;text-align:center}.more-panel{position:absolute;z-index:8;left:28px;right:28px;bottom:max(30px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid rgba(0,0,0,.05);border-radius:24px;background:#ffffffeb;box-shadow:0 16px 44px #0000001a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.hand-left .more-panel{left:28px;right:28px}.more-panel label{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 10px;border-radius:15px;background:var(--surface);font-size:12px;font-weight:600}.more-panel input{display:none}.more-panel>p{grid-column:1/-1;margin:1px 8px;color:var(--muted);font-size:11px}.more-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff}.arc-nav{--nav-side: right;position:fixed;z-index:20;top:50%;right:max(calc((100vw - min(100vw,480px))/2 - 103px),-103px);width:206px;height:258px;transform:translateY(-50%);touch-action:none;-webkit-user-select:none;user-select:none}.arc-nav:after{content:"";position:absolute;inset:0;pointer-events:none}.arc-edge-hint{position:absolute;z-index:2;left:92px;top:50%;width:3px;height:40px;border-radius:3px;background:#d2d2d7;transform:translateY(-50%);transition:opacity .22s ease,height .22s ease}.arc-nav.revealed .arc-edge-hint{height:18px;opacity:0}.arc-left .arc-edge-hint{transform:translateY(-50%) scaleX(-1)}.arc-left{left:max(calc((100vw - min(100vw,480px))/2 - 103px),-103px);right:auto;transform:translateY(-50%) scaleX(-1)}.arc-line{position:absolute;inset:15px 0;border:1px solid rgba(29,29,31,.12);border-left-color:transparent;border-radius:50%;opacity:0;transition:border-color .25s,opacity .25s}.arc-nav.revealed .arc-line{opacity:1}.arc-nav.dragging .arc-line{border-right-color:var(--ink)}.arc-node{position:absolute;left:14px;top:calc(21px + var(--node-index) * 69px);display:flex;align-items:center;justify-content:flex-end;width:96px;height:38px;padding:0;border:0;background:transparent;flex-direction:row-reverse;opacity:0;pointer-events:none;transform:translate(calc((1.5 - var(--node-index)) * (1.5 - var(--node-index)) * 6px));transition:opacity .2s ease}.arc-nav.revealed .arc-node,.arc-nav:focus-within .arc-node{opacity:1}.arc-left .arc-node,.arc-left .arc-hint{transform:scaleX(-1)}.arc-left .arc-node{flex-direction:row-reverse}.arc-dot{display:block;width:8px;height:8px;border:1px solid #86868b;border-radius:50%;background:var(--paper);transition:width .25s,height .25s,background .25s,box-shadow .25s}.arc-node.active .arc-dot{width:15px;height:15px;border:4px solid var(--accent);background:#fff;box-shadow:0 0 0 5px #0071e31c}.arc-node.feedback .arc-dot{animation:node-feedback .18s ease-out}@keyframes node-feedback{50%{transform:scale(1.55);box-shadow:0 0 0 10px #0071e321}}.arc-label{display:flex;align-items:baseline;gap:6px;width:0;overflow:hidden;opacity:0;white-space:nowrap;color:var(--muted);font-size:10px;transition:width .25s,opacity .25s,margin .25s}.arc-label b{color:var(--accent);font-size:11px}.arc-node.active .arc-label{width:62px;margin-right:8px;opacity:1}.arc-left .arc-node.active .arc-label{margin:0 0 0 8px}.arc-nav.dragging .arc-node.active .arc-label{width:70px;min-height:30px;padding:0 9px;justify-content:center;border-radius:16px;background:#fffffff0;box-shadow:0 5px 18px #0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.arc-hint{position:absolute;left:104px;bottom:-3px;margin:0;color:#86868b;font-size:8px;letter-spacing:.08em;white-space:nowrap;opacity:0;transition:opacity .2s ease}.arc-nav.revealed .arc-hint{opacity:1}.recording-pill{position:fixed;z-index:22;left:50%;bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;padding:10px 15px;border:0;border-radius:22px;color:#fff;background:#1d1d1ff0;box-shadow:0 8px 24px #00000029;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%);font-size:11px;font-weight:600}.recording-pill span{width:7px;height:7px;border-radius:50%;background:#ff6c5f;animation:blink 1s infinite}@keyframes blink{50%{opacity:.3}}.offline-indicator{position:fixed;z-index:45;left:50%;bottom:max(18px,env(safe-area-inset-bottom));padding:9px 14px;border-radius:18px;color:#fff;background:#1d1d1feb;box-shadow:0 8px 24px #00000024;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%);white-space:nowrap;font-size:10px}.sheet-backdrop{position:fixed;z-index:50;inset:0;display:flex;justify-content:center;align-items:flex-end;padding:0 max(0px,calc((100vw - 480px)/2));background:#00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}}.bottom-sheet{width:min(100%,480px);max-height:88dvh;overflow-y:auto;padding:18px 26px max(28px,env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:#fff;box-shadow:0 -12px 60px #0000001f;animation:sheet-in .38s cubic-bezier(.22,.8,.28,1)}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-handle,.sheet-handle:after,.sheet-grabber{display:block;width:36px;height:4px;margin:0 auto 26px;border-radius:4px;background:#d8d7d1}.bottom-sheet h2{margin:0 0 24px;font-size:28px;letter-spacing:-.04em}.field{display:block;margin:0 0 18px}.field span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px}.field input,.field textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);outline:none;resize:none;background:transparent;font-size:15px}.field input:focus,.field textarea:focus{border-color:var(--ink)}.candidate-action,.candidate-toggle,.resume-action{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:transparent;text-align:left;font-size:12px}.candidate-toggle span,.resume-action span{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;color:#fff;background:var(--ink)}.candidate-toggle.selected,.resume-action.selected{border-color:#0071e352;background:#0071e312}.sheet-actions,.save-actions{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.text-button,.icon-button{padding:9px;border:0;background:transparent;color:var(--muted);font-size:12px}.icon-button{font-size:23px;font-weight:300}.text-button.danger{color:var(--danger)}.primary-button{padding:14px 21px;border:0;border-radius:16px;background:var(--accent);color:#fff;font-size:13px;font-weight:600}.row-heading{display:flex;align-items:flex-start;justify-content:space-between}.row-heading h1{font-size:42px}.view-switch,.side-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.view-switch button,.side-switch button{width:34px;height:30px;padding:0;border:0;border-radius:16px;background:transparent;color:var(--muted);font-size:11px}.view-switch button.active,.side-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0000001f}.clear-date{margin:18px 0 0;padding:7px 10px;border:0;border-radius:12px;background:var(--surface);color:var(--accent);font-size:10px}.timeline-content{padding:34px 0 100px}.timeline-group{position:relative}.date-marker{display:flex;align-items:baseline;justify-content:space-between;margin:0 5px 16px 40px}.date-marker strong{font-size:16px;letter-spacing:-.02em}.date-marker span{color:#a1a39a;font-size:8px;letter-spacing:.14em}.timeline-item{position:relative;display:grid;grid-template-columns:43px 45px 1fr;width:100%;min-height:92px;padding:0;border:0;background:transparent;text-align:left}.timeline-item:before{content:"";position:absolute;top:15px;bottom:-15px;left:11px;width:1px;background:var(--line)}.timeline-group:last-child .timeline-item:last-child:before{bottom:70px}.timeline-dot{position:relative;z-index:1;width:9px;height:9px;margin:11px 0 0 7px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px var(--ink)}.timeline-time{padding-top:7px;color:var(--muted);font-size:10px;letter-spacing:.04em}.timeline-card{display:flex;flex-direction:column;min-width:0;margin-bottom:15px;padding:17px 16px;border:1px solid transparent;border-radius:18px;background:var(--surface);box-shadow:none}.timeline-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.timeline-card small{margin-top:7px;color:var(--muted);font-size:9px;letter-spacing:.04em}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50dvh;text-align:center}.empty-state>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:16px;border:1px solid var(--line);border-radius:50%;font-size:23px}.empty-state h2{margin:0 0 8px;font-size:18px}.empty-state p{max-width:240px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.calendar-view{padding:46px 0 80px}.calendar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.calendar-title strong{font-size:16px}.calendar-title button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{padding-bottom:14px;color:#9a9c93;font-size:9px;text-align:center}.days button{position:relative;height:43px;border:0;border-radius:50%;background:transparent;font-size:12px}.days button.selected{background:var(--accent);color:#fff}.days button:disabled{opacity:0}.days button i{position:absolute;left:50%;bottom:5px;width:3px;height:3px;border-radius:50%;background:var(--accent-strong);transform:translate(-50%)}.days button.selected i{background:var(--accent)}.calendar-caption{margin-top:32px;color:var(--muted);font-family:serif;font-size:12px;text-align:center}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;color:var(--muted);font-size:10px}.detail-sheet h2{margin-bottom:13px}.detail-note{color:#565950;font-size:14px;line-height:1.75;white-space:pre-wrap}.audio-player{width:100%;height:46px;margin:18px 0}.transcript-block{margin:4px 0 18px;padding:16px 16px 18px;background:var(--surface);border-radius:16px}.transcript-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.transcript-header .eyebrow{color:var(--accent);font-size:9px;letter-spacing:.04em}.transcript-actions{display:flex;gap:10px;align-items:center}.transcript-actions .icon-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:#0000000f;color:#2d2f29;font-size:11px}.transcript-actions .icon-action:disabled{opacity:.5}.transcript-status{color:var(--muted);font-size:12px;line-height:1.65}.transcript-status.error{color:#b54141}.transcript-error-hint{display:block;margin-top:4px;font-size:10px;opacity:.8}.transcript-text{margin:0;color:#2d2f29;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.keyword-list{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}.keyword-list li{padding:4px 10px;border-radius:999px;background:#0000000a;color:#2d2f29;font-size:11px}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.image-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}.file-list{margin:16px 0}.file-list>div{padding:12px;border-bottom:1px solid var(--line);font-size:12px}.file-list span{margin-right:10px;color:var(--muted);font-size:9px}.resume-action{margin-top:16px}.resume-empty{min-height:63dvh}.resume-empty>span{border:0;background:var(--surface);color:var(--accent)}.candidate-list{padding:38px 0 100px}.candidate-count{margin:0 0 14px;color:var(--muted);font-size:10px}.candidate-card{display:grid;grid-template-columns:28px 1fr 20px;width:100%;padding:23px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left}.candidate-index{color:#a4a69e;font-size:9px}.candidate-copy{display:flex;flex-direction:column;min-width:0}.candidate-copy small{margin-bottom:8px;color:var(--muted);font-size:9px}.candidate-copy strong{font-size:20px;font-weight:600;line-height:1.2;letter-spacing:-.025em}.candidate-copy p{display:-webkit-box;overflow:hidden;margin:9px 0;color:#65675f;font-size:11px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.candidate-copy i{margin-top:10px;color:var(--muted);font-size:9px;font-style:normal}.candidate-arrow{font-size:15px}.profile-hero{padding-top:4px;text-align:center}.avatar{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 15px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#2c2c2e,#000);font-size:35px;font-weight:600;box-shadow:0 10px 28px #00000021}.name-input{width:100%;border:0;outline:0;background:transparent;font-size:32px;font-weight:650;letter-spacing:-.035em;text-align:center}.profile-hero textarea{width:100%;margin-top:7px;border:0;outline:0;resize:none;color:var(--muted);background:transparent;font-size:12px;line-height:1.6;text-align:center}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:29px 0;padding:20px 0;border-block:1px solid var(--line)}.profile-stats div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.profile-stats div:last-child{border:0}.profile-stats strong{font-size:21px;font-weight:550}.profile-stats span{margin-top:5px;color:var(--muted);font-size:9px}.profile-form label{display:grid;grid-template-columns:70px 1fr;align-items:center;min-height:50px;border-bottom:1px solid var(--line)}.profile-form span{color:var(--muted);font-size:10px}.profile-form input{width:100%;border:0;outline:0;background:transparent;font-size:13px;text-align:right}.settings-block{margin-top:35px}.setting-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:66px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.setting-row>span{display:flex;flex-direction:column}.setting-row strong{font-size:12px}.setting-row small{margin-top:5px;color:var(--muted);font-size:9px}.data-row b{font-size:18px;font-weight:400}.profile-footer{padding:36px 0 12px;color:#9c9e96;font-size:8px;letter-spacing:.07em;text-align:center}@media(min-width:700px){body{padding:24px 0}.app-shell{min-height:calc(100dvh - 48px);border-radius:34px}.scene-stack,.scene{min-height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}}@media(max-height:700px){.scene-heading h1{font-size:34px}.capture-center{min-height:340px}.record-button{width:100px;height:100px}.record-button span{width:62px;height:62px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
