:root{font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#17262d;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--ink: #17262d;--muted: #78868a;--green: #2e826e;--green-dark: #226956;--mint: #e6f4ee}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 82% 18%,rgb(213 237 225 / 44%),transparent 31rem),#f5f7f5}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #82c9ad;outline-offset:3px}[hidden]{display:none!important}.shell{width:min(100% - 36px,480px);min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.16em}.brand-mark{width:26px;height:26px;display:flex;align-items:center;justify-content:center;gap:2px;border-radius:9px;background:var(--green)}.brand-mark span{width:2px;border-radius:2px;background:#fff}.brand-mark span:nth-child(1),.brand-mark span:nth-child(3){height:8px}.brand-mark span:nth-child(2){height:14px}.local-badge{display:inline-flex;align-items:center;gap:7px;color:#65756f;font-size:11px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#50a581;box-shadow:0 0 0 3px #50a58121}.home-screen{flex:1}.hero{position:relative;overflow:hidden;min-height:322px;padding:41px 25px 24px;text-align:center;border-radius:26px;background:linear-gradient(145deg,#193c3a,#1d5147 62%,#27715e);color:#fff}.hero:before,.hero:after{position:absolute;width:210px;height:210px;border:1px solid rgb(208 239 223 / 11%);border-radius:50%;content:""}.hero:before{top:-105px;left:-100px}.hero:after{right:-120px;bottom:-132px;width:270px;height:270px}.hero-orbit{position:absolute;z-index:0;border:1px solid rgb(208 239 223 / 9%);border-radius:50%;pointer-events:none}.orbit-one{top:21px;right:23px;width:42px;height:42px}.orbit-two{bottom:25px;left:27px;width:21px;height:21px}.hero-icon{position:relative;width:49px;height:49px;margin:0 auto 17px;display:grid;place-items:center;border:1px solid rgb(255 255 255 / 27%);border-radius:16px;background:#ffffff17;color:#d5f1df;font-size:27px}.eyebrow{margin:0 0 9px;color:#9cc8b6;font-size:9px;font-weight:700;letter-spacing:.19em}.hero h1{margin:0;font-size:clamp(26px,8vw,35px);font-weight:600;line-height:1.48;letter-spacing:.025em}.hero-copy{margin:11px 0 0;color:#d0e1d9;font-size:12px;line-height:1.9}.action-card{display:grid;gap:10px;margin-top:20px}.primary-button,.secondary-button{min-height:68px;width:100%;display:flex;align-items:center;gap:13px;padding:12px 16px;border:0;border-radius:15px;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.primary-button{background:var(--green);color:#fff;box-shadow:0 9px 22px #2e826e2b}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:active,.secondary-button:active{transform:translateY(0)}.secondary-button{border:1px solid #e6ebe7;background:#fff;color:var(--ink)}.primary-button>span:nth-child(2),.secondary-button>span:nth-child(2){display:grid;gap:4px}.primary-button strong,.secondary-button strong{font-size:13px;font-weight:600}.primary-button small,.secondary-button small{color:#ffffffba;font-size:10px}.secondary-button small{color:#84908d}.button-icon,.scan-icon{width:35px;height:35px;display:grid;flex:0 0 35px;place-items:center;border-radius:11px;font-size:23px}.button-icon{background:#ffffff26}.scan-icon{background:var(--mint);color:var(--green);font-size:20px}.button-arrow{margin-left:auto;color:#ffffffb3;font-size:25px}.secondary-button .button-arrow{color:#9ca8a3}.feature-row{display:flex;justify-content:center;gap:18px;margin-top:22px}.feature-row>div{display:flex;align-items:center;gap:6px;color:#667771;font-size:9px}.feature-icon{color:var(--green);font-size:15px}.home-note{margin:17px 0 0;color:#9ba6a2;text-align:center;font-size:10px}.install-note{margin:8px 0 0;color:#71817b;text-align:center;font-size:10px}.footer{padding:20px 0 calc(17px + env(safe-area-inset-bottom));color:#a4afaa;text-align:center;font-size:9px;letter-spacing:.06em}.call-screen{flex:1;padding:6px 0 16px}.back-button{padding:7px 0;border:0;background:none;color:#71817b;font-size:22px;cursor:pointer}.back-button span{font-size:11px}.call-heading{padding:25px 3px 17px}.call-status{display:inline-flex;align-items:center;gap:8px;color:#71817b;font-size:11px}.call-heading h1{margin:17px 0 8px;font-size:27px;font-weight:600;letter-spacing:.01em}.call-heading>p{margin:0;color:#7e8b88;font-size:12px;line-height:1.8}.qr-card{display:grid;justify-items:center;gap:12px;padding:23px 15px 19px;border:1px solid #e6ece8;border-radius:20px;background:#fff}.qr-frame{width:min(100%,372px);aspect-ratio:1;display:grid;place-items:center;padding:8px;border:1px solid #edf0ed;border-radius:13px}.qr-frame canvas{width:100%!important;height:auto!important;aspect-ratio:1;image-rendering:pixelated}.qr-caption{margin:0;color:#75827d;font-size:11px;text-align:center}.enlarge-qr-button{min-height:38px;padding:0 15px;border:1px solid #dfe9e2;border-radius:11px;background:#f7faf8;color:var(--green-dark);font-size:11px;cursor:pointer}.qr-zoom{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px;background:#fff}.qr-zoom canvas{width:min(88vw,560px);height:auto;aspect-ratio:1;image-rendering:pixelated}.qr-zoom p{margin:0;color:#60736a;font-size:13px}.qr-zoom-close{position:absolute;top:max(20px,env(safe-area-inset-top));right:20px;width:42px;height:42px;border:0;border-radius:50%;background:#edf3ef;color:#36574b;font-size:28px;cursor:pointer}.compact-button{min-height:53px;justify-content:center;margin-top:13px;text-align:center;font-size:12px;font-weight:600}.privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 14px;border-radius:13px;background:#eaf3ed;color:#638072}.privacy-note>span{flex:0 0 auto;color:var(--green);font-size:16px}.privacy-note p{margin:0;font-size:10px;line-height:1.8}.connected-heading{padding:36px 3px 21px}.connected-heading h1{margin-top:19px}.connected-dot{background:#50a581;box-shadow:0 0 0 4px #50a58126}.music-card{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #e6ece8;border-radius:17px;background:#fff}.audio-route-card{display:grid;gap:9px;margin-top:12px;padding:14px;border:1px solid #e6ece8;border-radius:15px;background:#fff}.audio-route-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:11px;font-weight:600}.audio-route-card select{width:100%;min-height:42px;padding:0 11px;border:1px solid #dfe9e2;border-radius:10px;background:#f7faf8;color:var(--ink);font:inherit;font-size:11px}.audio-route-card p{margin:0;color:#78868a;font-size:10px;line-height:1.6}.route-refresh-button,.bluetooth-settings-button{min-height:34px;padding:0 11px;border:1px solid #dfe9e2;border-radius:9px;background:#f7faf8;color:var(--green-dark);font:inherit;font-size:10px;cursor:pointer}.bluetooth-settings-button{justify-self:start}.music-art{width:49px;height:49px;display:grid;flex:0 0 49px;place-items:center;border-radius:13px;background:linear-gradient(145deg,#d6efe2,#a5d3bd);color:#33785f;font-size:28px}.music-info{min-width:0;display:grid;gap:5px}.music-info strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.music-info span{color:#8a9691;font-size:9px}.round-button{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;margin-left:auto;border:0;border-radius:50%;background:var(--green);color:#fff;cursor:pointer}.round-button:disabled{background:#d8e4de;cursor:default}.music-select-button{width:100%;min-height:46px;margin-top:10px;border:1px dashed #cbd9d0;border-radius:13px;background:transparent;color:var(--green-dark);font-size:11px;cursor:pointer}.music-select-button:disabled{border-style:solid;background:#edf2ef;color:#89958f;cursor:default}.music-select-button>span:first-child{margin-right:7px;font-size:15px}.music-select-button .subtle{margin-left:6px;color:#96a39d;font-size:9px}.music-library-actions{display:grid;grid-template-columns:1fr auto;gap:9px}.music-library-actions .music-select-button{padding:0 12px}.music-library-actions .secondary-music-button{min-width:90px;border-style:solid;background:#fff}.playlist-select{width:100%;min-height:42px;margin-top:10px;padding:0 11px;border:1px solid #dfe9e2;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.playlist-select:disabled{color:#89958f}.playlist-controls{display:flex;align-items:center;gap:8px;margin-top:8px}.playlist-button{min-height:39px;padding:0 12px;border:1px solid #dfe9e2;border-radius:10px;background:#fff;color:var(--green-dark);font-size:11px;cursor:pointer}.playlist-button:disabled{background:#f1f4f2;color:#a0aaa4;cursor:default}.shuffle-button{margin-left:auto}.shuffle-button.shuffle-active{border-color:#9acbb3;background:var(--mint);color:var(--green-dark)}.mix-volume-card{display:grid;gap:14px;margin-top:12px;padding:14px;border:1px solid #e6ece8;border-radius:15px;background:#fff}.mix-volume-heading{display:flex;align-items:baseline;justify-content:space-between}.mix-volume-heading strong{color:var(--ink);font-size:11px;font-weight:600}.mix-volume-heading span{color:#8a9691;font-size:9px}.volume-control{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;color:#60736a;font-size:10px}.volume-control output{color:var(--green-dark);font-variant-numeric:tabular-nums}.volume-control input{grid-column:1 / -1;width:100%;height:20px;margin:0;accent-color:var(--green);cursor:pointer}.call-controls{display:flex;gap:11px;margin-top:23px}.control-button{min-height:63px;display:grid;flex:1;justify-items:center;align-content:center;gap:4px;border:1px solid #e3e9e5;border-radius:15px;background:#fff;color:#60736a;font-size:10px;cursor:pointer}.control-icon{font-size:18px}.control-button.muted{border-color:#e8c8bd;background:#fff3ef;color:#ac5544}.hangup-button{border-color:#efded9;background:#fff7f4;color:#ad5144}.hangup-button .control-icon{font-size:23px;line-height:17px}.scanner{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0d1b1eba}.scanner-dialog{width:min(100%,410px);max-height:92dvh;overflow-y:auto;padding:21px;border-radius:21px;background:#fff}.scanner-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.scanner-heading .eyebrow{margin-bottom:5px;color:var(--green)}.scanner-heading h2{margin:0;font-size:18px;font-weight:600}.icon-button{width:30px;height:30px;border:0;border-radius:50%;background:#f0f3f1;color:#56665f;font-size:21px;cursor:pointer}.video-frame{position:relative;overflow:hidden;height:min(38dvh,340px);min-height:210px;border-radius:15px;background:#14251f;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none}.video-frame video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;top:50%;left:50%;width:min(76%,260px);aspect-ratio:1;border:2px solid #b7edcf;border-radius:21px;box-shadow:0 0 0 999px #00000024;transform:translate(-50%,-50%);pointer-events:none}.scanner-tools{display:flex;min-height:44px;align-items:center;justify-content:center;gap:10px;margin-top:8px}.camera-tool-button{min-height:37px;padding:0 12px;border:1px solid #dfe9e2;border-radius:10px;background:#f7faf8;color:var(--green-dark);font-size:11px;cursor:pointer}.camera-zoom-controls{display:flex;align-items:center;gap:9px;color:#60736a;font-size:11px}.camera-zoom-controls .icon-button{width:35px;height:35px}.camera-picker-wrap{display:grid;gap:6px;margin:4px 0 10px;color:#71817b;font-size:10px}.camera-picker-wrap select{width:100%;min-height:40px;padding:0 10px;border:1px solid #dfe9e2;border-radius:10px;background:#f7faf8;color:var(--ink);font:inherit;font-size:11px}.muted{color:#87938d;text-align:center;font-size:11px}.notice{position:fixed;z-index:10;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));left:18px;max-width:440px;margin:0 auto;padding:13px 16px;border:1px solid #dce8df;border-radius:13px;background:#193a34;box-shadow:0 8px 26px #11271f2e;color:#fff;font-size:12px;line-height:1.6}@media(min-height:850px){.home-screen{display:flex;flex-direction:column;justify-content:center;padding-bottom:20px}.hero{min-height:348px;padding-top:52px}}@media(max-width:360px){.shell{width:min(100% - 26px,480px)}.hero{padding-right:17px;padding-left:17px}.feature-row{gap:10px}.feature-row>div{font-size:8px}.qr-card{padding-right:10px;padding-left:10px}.scanner-dialog{padding:16px}}
