:root{font-family:Noto Sans KR,sans-serif;color:#1d3935;background:#f5f5ef;font-synthesis:none;font-weight:400;--green:#234f46;--muted:#6d7e75;--line:#dde3d9;--lime:#d5edaa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bb7420;outline-offset:4px}button{border:1px solid var(--line);background:#fff;min-height:48px;border-radius:12px;transition:background .15s,box-shadow .15s}button:hover{background:#edf2e7}button:disabled{opacity:.5}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4.2%;border-bottom:1px solid var(--line);background:#fafbf7}.brand{color:var(--green);text-decoration:none;display:flex;align-items:center;gap:12px;font-size:27px;font-weight:800;letter-spacing:-1px}.brand-mark{background:var(--green);color:var(--lime);width:43px;height:43px;border-radius:15px;display:grid;place-items:center;font-size:46px;font-weight:400;line-height:1;padding-bottom:15px}.brand small{font-size:11px;display:block;font-weight:500;letter-spacing:1px;margin-top:2px}.header-right{display:flex;align-items:center;gap:24px}.privacy{font-size:12px;color:var(--muted)}.privacy:before{content:"●";color:#7f9a68;margin-right:7px;font-size:8px}.settings-button{padding:0 16px;background:transparent;font-size:13px}main{max-width:1500px;margin:auto;padding:35px 4.2% 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#6b8264}h1{font-size:32px;font-weight:600;letter-spacing:-1.5px;margin:9px 0 7px}.intro p{font-size:13px;color:var(--muted);margin:0}.status{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:30px;font-size:12px;background:#e8ece3;color:#5c6c5a}.status i{width:7px;height:7px;border-radius:50%;background:#9ba794}.status.online i{background:#2c8053}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.sentence{background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px 22px;box-shadow:0 4px 10px #183b2910}.sentence-top{display:flex;justify-content:space-between;font-size:11px;color:#718071}.sentence-top span:first-child{font-weight:600;color:#42604f}.sentence textarea{display:block;width:100%;height:96px;resize:vertical;font-size:27px;letter-spacing:-1px;border:0;padding:22px 0 10px;outline-offset:0;min-height:80px;background:transparent;color:var(--green)}.sentence textarea::placeholder{color:#a4afa1}.sentence-actions{display:flex;gap:8px;align-items:center;padding-top:13px;border-top:1px solid #eff1eb}.sentence-actions button{font-size:12px;background:#f8f9f5;border:0;padding:0 15px;min-height:44px}.sentence-actions .speak-button{margin-left:auto;background:var(--green);color:#fff;min-width:110px;font-weight:600}.board-header{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:12px}.board-header>span{font-size:11px;color:var(--muted)}.tabs{display:flex;padding:4px;background:#e8ece2;border-radius:12px;gap:3px}.tabs button{font-size:12px;padding:0 14px;background:transparent;border:0;min-height:38px;border-radius:9px}.tabs button[aria-pressed=true]{background:#fff;box-shadow:0 2px 4px #234f4612;font-weight:700}.phrase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.phrase-card{padding:17px 19px;text-align:left;min-height:157px;border-radius:15px;display:flex;flex-direction:column;background:#fff;box-shadow:0 2px 3px #234f4605}.card-meta{display:flex;justify-content:space-between;width:100%;font-size:9px;color:#84947a;letter-spacing:1px}.card-meta>span:last-child{color:#afb8a8}.phrase-card strong{display:flex;align-items:center;flex:1;font-size:22px;letter-spacing:-.8px;line-height:1.5;padding:12px 0;font-weight:600;word-break:keep-all}.card-bottom{font-size:10px;color:#7e8f78;display:flex;justify-content:space-between;align-items:center}.card-bottom>span{font-size:19px;font-weight:400}.help-card{background:#edf1e5;border-color:#d4ddca}.board-footer{display:flex;justify-content:space-between;align-items:center;margin:17px 0;gap:12px}.board-footer>span{font-size:11px;color:var(--muted)}.board-footer button{border:0;background:transparent;font-size:12px;white-space:nowrap;padding:0 12px}.control-panel{background:#edf0e6;border:1px solid #dfe5d6;border-radius:19px;padding:23px 20px}.panel-heading{padding-bottom:19px}.panel-heading h2{font-size:19px;letter-spacing:-.6px;font-weight:600;margin:8px 0 0}.field-label{font-size:11px;color:#6c7d65;display:block;margin-bottom:8px}select{background:#fbfcf8;border:1px solid #d5decc;border-radius:10px;min-height:46px;padding:0 10px;width:100%;color:var(--green);font-size:12px}.camera-preview{position:relative;height:150px;border:1px dashed #c1ceb5;border-radius:12px;margin-top:17px;overflow:hidden;background:#e4eadd}.camera-preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.camera-overlay .eye-symbol{font-size:29px;color:#718866}.camera-overlay strong{font-size:11px;font-weight:500}.camera-overlay small{font-size:10px;color:#7c8d70}.over-video{background:linear-gradient(transparent,#0009);justify-content:flex-end;padding-bottom:12px;color:#fff}.over-video .eye-symbol,.over-video small{display:none}.notice{font-size:12px;line-height:1.8;color:#62755c;min-height:43px;margin:16px 0}.meter-section{font-size:11px}.meter-section>div{display:flex;justify-content:space-between}.meter-section b{font-weight:500}.meter-section meter{width:100%;height:13px;accent-color:var(--green);margin:5px 0}.meter-section small{display:block;font-size:9px;color:#78886f}.start-button{width:100%;background:var(--green);color:#fff;border:0;min-height:49px;font-weight:600;font-size:13px;margin-top:20px}.start-button:hover{background:#316357}.guide{margin-top:23px;border-top:1px solid #d9e0cf;padding-top:17px;font-size:11px}.guide>span{font-weight:600}.guide ol{padding-left:18px;line-height:2.2;color:#6e7f64;margin:8px 0 0}.voice-state{margin-top:18px;color:#526d4e;font-size:11px}.voice-state small{display:block;font-size:9px;line-height:1.7;margin-top:5px;color:#7a886e}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;padding:24px 0;margin-top:24px;border-top:1px solid var(--line);color:#8a9682}.footer-dot{margin:0 8px}.input-button{position:relative}.input-button.scanning{box-shadow:0 0 0 4px #6d9c36!important;background:#e5f4cc!important;color:#20391f!important}.input-button.dwelling{box-shadow:0 0 0 4px #6d9c36!important}.input-button.dwelling:after{content:"";position:absolute;bottom:0;left:0;width:var(--progress);height:5px;background:#6d9c36;border-radius:3px}.back-button{margin-top:15px;padding:0 20px}.alert{display:flex;justify-content:space-between;align-items:center;background:#fff0df;border:1px solid #e6c39c;border-radius:12px;padding:10px 15px;font-size:13px;line-height:1.8;margin-bottom:18px;color:#774b21}.alert button{background:transparent;border:0;min-width:44px;font-size:22px}.mode-note{font-size:11px;line-height:1.9;color:#6e7d63}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#142b2470;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.settings-modal{background:#fafbf7;width:min(750px,100%);max-height:90dvh;overflow:auto;border-radius:22px;padding:28px;box-shadow:0 20px 80px #0003}.modal-title{display:flex;justify-content:space-between;align-items:center}.modal-title h2{font-size:22px;margin:0}.modal-title button{padding:0 16px}.settings-modal p{font-size:13px;color:var(--muted);line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:24px 0}.settings-grid label{font-size:13px}.settings-grid b{float:right;font-weight:500}.settings-grid input{display:block;width:100%;min-height:32px;accent-color:var(--green)}.voice-select{font-size:13px;display:block}.voice-select select{margin-top:10px}.settings-modal h3{font-size:16px;margin-top:25px}.phrase-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px}.phrase-edit label{font-size:11px;color:var(--muted)}.phrase-edit input{width:100%;min-height:44px;border-radius:9px;border:1px solid var(--line);padding:8px;margin-top:6px;color:var(--green);font-size:13px}.reset-button{padding:0 18px;margin-top:24px;font-size:12px}.calibration{position:fixed;top:0;right:0;bottom:0;left:0;background:#f5f5ef;z-index:30}.calibration-instructions{position:absolute;top:28%;left:25%;width:50%;text-align:center;pointer-events:none;font-size:14px}.calibration-instructions button{pointer-events:auto;padding:0 15px}.calibration-instructions p{font-size:12px;color:#72806c;line-height:1.8}.calibration-dot{position:absolute;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;border:8px solid #d2e9ac;box-shadow:0 0 0 6px #234f4620}.gaze-cursor{position:fixed;pointer-events:none;width:26px;height:26px;border-radius:50%;border:3px solid #c38c19;background:#edd58b66;transform:translate(-50%,-50%);z-index:50}#webgazerVideoContainer{display:none!important}@media(min-width:1400px){.phrase-card{min-height:190px}.phrase-card strong{font-size:26px}.sentence textarea{height:115px}.workspace{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:1000px){main{padding:25px 3% 0}header{padding:18px 3%}.workspace{gap:16px;grid-template-columns:minmax(0,1fr) 240px}.control-panel{padding:20px 15px}.phrase-card{padding:14px;min-height:145px}.phrase-card strong{font-size:19px}.sentence-actions button{padding:0 9px;font-size:11px}.board-header>span{display:none}.privacy{display:none}.board-footer>span{max-width:65%}.intro{margin-bottom:22px}h1{font-size:28px}}@media(max-width:740px){.workspace{grid-template-columns:1fr}.control-panel{display:block}.phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro .status{font-size:10px;padding:9px}.phrase-card{min-height:145px}.sentence{padding:16px}.sentence textarea{font-size:23px}.header-right{gap:0}.settings-button{font-size:12px}.settings-grid,.phrase-edit{grid-template-columns:1fr}.settings-modal{padding:20px}.board-footer>span{font-size:10px}footer{font-size:9px}.camera-preview{max-width:350px}.control-panel .start-button{margin-top:15px}.sentence-actions{flex-wrap:wrap}.sentence-actions .speak-button{min-width:90px}.brand{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:900px)and (max-height:900px){header{padding:13px 4.2%}.brand{font-size:23px}.brand-mark{width:38px;height:38px}.brand small{font-size:9px}main{padding-top:16px}.intro{margin-bottom:16px}h1{font-size:27px;margin:5px 0}.intro p{font-size:12px}.sentence{padding:15px 18px}.sentence textarea{height:70px;min-height:60px;padding:15px 0 8px}.sentence-actions{padding-top:9px}.board-header{margin:17px 0 12px}.phrase-card{min-height:120px;padding:13px 16px}.phrase-card strong{font-size:22px;padding:8px 0}.phrase-grid{gap:11px}.board-footer{margin:9px 0}.control-panel{padding:18px}.panel-heading{padding-bottom:12px}.panel-heading h2{font-size:18px}.camera-preview{height:108px;margin-top:12px}.notice{margin:11px 0;min-height:0}.guide{display:none}.start-button{margin-top:14px}.voice-state{margin-top:13px}footer{padding:14px 0;margin-top:12px}.back-button{margin-top:8px}}
