@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#173735;--muted:#71817f;--paper:#f5f7f6;--surface:#fff;--green:#0d3937;--green-2:#1d786f;--mint:#dff2eb;--lime:#cfe958;--orange:#d99728;--red:#bd514b;--line:#e4e9e7;--shadow:0 12px 36px #10363312}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-height:100%}body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:DM Sans,Aptos,Segoe UI,sans-serif}button,input,select{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #f0a17b}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{background:radial-gradient(circle at 83% 15%, #addac947, transparent 25%), var(--paper);flex-direction:column;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#f6f4eee0;border-bottom:1px solid #17242017;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,5vw,76px);display:flex;position:relative}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;font:700 27px/1 Georgia,serif;display:grid;box-shadow:0 8px 22px #0d554833}.brand strong{letter-spacing:.08em;font-size:18px;line-height:1;display:block}.brand small{color:var(--green-2);letter-spacing:.31em;margin-top:5px;font-size:9px;font-weight:800;display:block}.header-tools{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:#ffffff80;border-radius:50%;width:38px;height:38px;font-size:17px}.connection-pill{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:8px;height:38px;padding:0 14px;font-size:12px;font-weight:750;display:flex}.status-dot,.online-dot,.waiting-dot{background:#32a176;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #32a1761f}.connection-pill.reconnecting .status-dot,.connection-pill.connecting .status-dot,.waiting-dot{background:#e99a3d;box-shadow:0 0 0 4px #e99a3d21}.home-shell{flex:1;width:min(1180px,100% - 40px);margin:0 auto;padding:clamp(54px,8vh,100px) 0 35px}.hero-copy{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--green-2);margin:0 0 17px;font-size:11px;font-weight:800}.hero-copy h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,7vw,84px);font-weight:400;line-height:.98}.hero-copy h1 span{color:var(--green);font-style:italic}.hero-text{color:var(--muted);max-width:700px;margin:27px 0 43px;font-size:clamp(16px,2vw,20px);line-height:1.65}.mode-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.mode-card{cursor:pointer;text-align:left;min-height:230px;color:inherit;box-shadow:var(--shadow);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;border-radius:25px;grid-template-columns:110px 1fr auto;align-items:end;gap:25px;padding:28px 30px;text-decoration:none;transition:transform .22s,box-shadow .22s;display:grid;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.mode-card:hover{transform:translateY(-5px);box-shadow:0 30px 75px #18312a2e}}.control-card{background:var(--green);color:#fff}.device-card{background:var(--surface);border:1px solid #17242014}.mode-number{opacity:.55;font:italic 15px Georgia,serif;position:absolute;top:25px;right:28px}.mode-icon{border-radius:24px;justify-content:center;align-items:center;width:102px;height:102px;display:flex}.control-icon{background:#ffffff1f;gap:8px}.control-icon i{background:#b6ded1;border-radius:6px;width:10px;display:block}.control-icon i:first-child{height:37px}.control-icon i:nth-child(2){background:#fff;height:62px}.control-icon i:nth-child(3){height:48px}.device-icon{background:var(--mint);transform:rotate(-3deg)}.device-icon i{color:#a9decc;background:#192e28;border:7px solid #fff;border-radius:9px;place-items:center;width:64px;height:52px;font:700 17px/1 Courier New,monospace;display:grid;box-shadow:0 10px 25px #0d554833}.mode-copy strong{margin-bottom:10px;font:400 clamp(27px,3vw,38px)/1.1 Georgia,serif;display:block}.mode-copy small{opacity:.72;max-width:240px;font-size:13px;line-height:1.5;display:block}.card-arrow{margin-bottom:6px;font-size:32px;transition:transform .2s}.mode-card:hover .card-arrow{transform:translate(5px)}.feature-row{color:var(--muted);flex-wrap:wrap;gap:35px;margin-top:29px;font-size:13px;display:flex}.feature-row b{color:var(--green-2);margin-right:7px}.demo-hint{color:#755321;background:#fff3df;border:1px solid #efd6ad;border-radius:12px;max-width:590px;margin:25px 0 0;padding:12px 15px;font-size:13px}.safety-note{color:#6e7874;letter-spacing:.025em;border-top:1px solid #17242012;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 20px;font-size:11px;display:flex}.safety-note span{text-align:center;border:1px solid #94a09c;border-radius:50%;width:16px;height:16px;font:700 11px/14px Georgia,serif}.join-shell{flex:1;width:min(1040px,100% - 40px);margin:0 auto;padding:40px 0}.back-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:10px 0;font-weight:750}.join-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:18px;width:min(900px,100%);margin:7vh auto 0;display:grid}.join-panel{background:var(--surface);max-width:570px;box-shadow:var(--shadow);border:1px solid #17242014;border-radius:28px;margin:8vh auto 0;padding:clamp(34px,6vw,60px)}.join-layout .join-panel{width:100%;max-width:none;margin:0}.join-panel h1{margin:0 0 16px;font:400 clamp(35px,5vw,51px)/1 Georgia,serif}.join-panel>p:not(.eyebrow){color:var(--muted);line-height:1.6}.join-panel form{margin-top:32px}.join-panel label,.form-section>label{margin-bottom:9px;font-size:12px;font-weight:800;display:block}.code-input{text-align:center;letter-spacing:.22em;width:100%;height:72px;color:var(--green);text-transform:uppercase;background:#f5f6f2;border:1px solid #cdd4d0;border-radius:14px;font:750 clamp(28px,6vw,39px)/1 Courier New,monospace}.room-qr-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px}.join-page-qr{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:26px;display:flex}.room-qr-copy h2{letter-spacing:-.35px;margin:0 0 9px;font-family:Manrope,DM Sans,sans-serif;font-size:20px;line-height:1.15}.room-qr-copy>p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px;line-height:1.5}.room-qr-image{background:#fff;border:1px solid #d9e5e1;border-radius:10px;place-items:center;width:174px;height:174px;margin:20px auto 14px;padding:9px;display:grid}.room-qr-image img{width:100%;height:100%;image-rendering:pixelated;display:block}.room-qr-image span{color:var(--green);font-size:24px;font-weight:900}.room-qr-card>a{color:var(--green);font-size:11px;font-weight:800;text-decoration:none}.room-qr-card>a:hover{text-decoration:underline}.room-specific{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:8px 18px;margin:-10px 0 16px;padding:16px 18px;display:grid}.room-specific .room-qr-copy{align-self:end}.room-specific .room-qr-image{grid-area:1/2/3;width:116px;height:116px;margin:0;padding:6px}.room-specific>a{align-self:start;width:-moz-fit-content;width:fit-content}.primary-button,.save-config{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:13px;width:100%;min-height:52px;margin-top:15px;padding:13px 20px;font-weight:800}.primary-button:disabled,button:disabled{cursor:not-allowed;opacity:.45}.form-error{color:#a63d2e;background:#fff0ec;border-radius:10px;padding:10px 12px;font-size:13px}.room-shell{flex:1;width:min(1320px,100% - 40px);margin:0 auto;padding:25px 0 35px}.room-meta{align-items:center;gap:24px;margin-bottom:22px;display:flex}.room-meta>div{align-items:baseline;gap:10px;display:flex}.room-meta span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:10px;font-weight:800}.room-meta strong{letter-spacing:.12em;font:750 21px/1 Courier New,monospace}.room-meta div button{color:var(--green-2);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.role-label{margin-left:auto}.role-label strong{letter-spacing:0;font:750 13px/1 Inter,sans-serif}.leave-button{cursor:pointer;background:0 0;border:1px solid #d4d9d6;border-radius:9px;padding:9px 13px;font-size:12px}.connection-warning{background:#fff1de;border:1px solid #eacb9c;border-radius:13px;align-items:center;gap:13px;margin-bottom:18px;padding:12px 16px;display:flex}.connection-warning>span{font-size:24px}.connection-warning strong,.connection-warning small{display:block}.connection-warning small{color:#795e37;margin-top:2px}.controller-layout{grid-template-columns:minmax(310px,.78fr) minmax(480px,1.4fr);align-items:stretch;gap:20px;display:grid}.live-panel,.control-panel{background:var(--surface);border:1px solid #17242014;border-radius:23px;box-shadow:0 17px 50px #18312a14}.live-panel{background:#e6eee9;padding:31px}.panel-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--green);align-items:center;gap:9px;font-size:10px;font-weight:850;display:flex}.live-panel h2{margin:19px 0 4px;font:400 29px/1.15 Georgia,serif}.device-connection{color:var(--muted);margin:0;font-size:12px}.mini-device{background:#f4f4ef;border-radius:52px 52px 34px 34px;width:min(250px,80%);height:280px;margin:30px auto;padding:46px 30px;position:relative;box-shadow:inset -18px -12px 25px #1724200f,0 25px 50px #17242024}.mini-device.glucose{border-radius:40px 40px 23px 23px;height:250px}.mini-device i{background:var(--green);border-radius:50%;width:43px;height:43px;position:absolute;bottom:42px;left:calc(50% - 21px);box-shadow:inset 0 0 0 7px #d7ddd8}.mini-screen{color:#183228;background:#9fbba9;border:8px solid #24352f;border-radius:9px;height:91px;padding:10px 12px;position:relative}.mini-screen small{letter-spacing:.1em;font:8px Courier New;display:block}.mini-screen strong{text-align:center;font:700 34px/1.45 Courier New;display:block}.mini-screen span{font:700 9px Courier New;position:absolute;bottom:8px;right:8px}.status-table{border-top:1px solid #0d554826}.status-table div{border-bottom:1px solid #0d55481f;justify-content:space-between;gap:20px;padding:14px 0;display:flex}.status-table span{color:var(--muted);font-size:11px}.status-table strong{text-align:right;font-size:11px}.control-panel{padding:clamp(27px,4vw,46px)}.panel-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:30px;display:flex}.panel-heading h1{margin:0;font:400 clamp(32px,4vw,47px)/1.05 Georgia,serif}.hidden-badge{color:var(--muted);white-space:nowrap;background:#edf1ee;border-radius:16px;padding:7px 10px;font-size:10px;font-weight:750}.control-panel fieldset{border:0;grid-template-columns:1fr 1fr;gap:20px;margin:0;padding:0;display:grid}.form-section{min-width:0}.form-section:first-of-type{grid-column:1/-1}.form-section select,.value-control{background:#f6f7f4;border:1px solid #d2d8d4;border-radius:11px;width:100%;height:51px;padding:0 15px}.form-section select{cursor:pointer}.value-control{align-items:center;display:flex}.value-control input{background:0 0;border:0;outline:0;flex:1;min-width:0;font:700 22px Courier New,monospace}.value-control span{color:var(--muted);font-size:12px}.dual-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.control-panel>fieldset{display:none}.device-config-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.device-config-card.active{border-color:#0f6b67;box-shadow:inset 0 0 0 1px #0f6b672e}.device-config-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.device-config-head h2{margin:0;font-size:18px;line-height:1.15}.device-config-head .eyebrow{margin-bottom:6px;font-size:9px}.device-config-head>span{color:#0b433e;background:#eef6f4;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.device-config-card fieldset{grid-template-columns:1fr;gap:12px;display:grid}.device-config-card label{color:var(--ink);gap:7px;font-size:11px;font-weight:850;display:grid}.device-config-card select{background:#f6f7f4;border:1px solid #d2d8d4;border-radius:6px;width:100%;height:42px;padding:0 10px;font-size:12px}.device-config-card .value-control{border-radius:6px;height:42px;padding:0 10px}.device-config-card .value-control input{font-size:18px}.duration-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.duration-grid.compact button{height:42px}.device-config-card .save-config{min-height:44px;margin-top:0}.unit-toggle{gap:6px;margin-top:8px;display:flex}.unit-toggle button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:10px;font-weight:750}.unit-toggle button.active,.duration-grid button.active{background:var(--green);border-color:var(--green);color:#fff}.duration-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.duration-grid button{border:1px solid var(--line);cursor:pointer;background:#f6f7f4;border-radius:10px;height:51px}.duration-grid strong,.duration-grid small{display:block}.duration-grid strong{font-size:16px}.duration-grid small{text-transform:uppercase;letter-spacing:.08em;font-size:8px}.save-config{grid-column:1/-1;justify-content:center;align-items:center;gap:10px;display:flex}.save-config span{background:#ffffff2e;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.remote-actions{border-top:1px solid var(--line);grid-template-columns:1.5fr 1fr 1fr;gap:9px;margin-top:28px;padding-top:24px;display:grid}.remote-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:47px;font-size:11px;font-weight:800}.remote-actions .start-action{color:var(--green);background:#eaf4ef;border-color:#c6ded5}.device-layout{min-height:690px}.device-tabs{background:#e8e9e4;border-radius:14px;width:-moz-fit-content;width:fit-content;margin:0 auto 22px;padding:5px;display:flex}.device-tabs button{cursor:pointer;background:0 0;border:0;border-radius:10px;min-width:180px;min-height:47px;font-size:12px;font-weight:800}.device-tabs button.active{background:#fff;box-shadow:0 4px 15px #1724201a}.device-tabs span{color:var(--green-2);margin-right:8px;font-size:18px}.device-switch{display:none}.simulation-stage{background:linear-gradient(145deg,#e2ebe6 0%,#d0dfd9 100%);border-radius:28px;grid-template-columns:minmax(280px,.7fr) minmax(400px,1.3fr);align-items:center;min-height:620px;padding:35px;display:grid;position:relative;overflow:hidden}.simulation-stage:after{content:"";border:1px solid #0d55481a;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-260px;right:-80px;box-shadow:0 0 0 90px #ffffff1a,0 0 0 180px #ffffff14}.instruction-card{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:23px;padding:clamp(28px,4vw,44px);box-shadow:0 20px 50px #0d55481f}.instruction-card h1{margin:0 0 18px;font:400 clamp(32px,4vw,49px)/1.06 Georgia,serif}.instruction-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.65}.step-progress{gap:9px;margin-top:30px;display:flex}.step-progress span{color:#788681;border:1px solid #a9b8b2;border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;font-weight:800;display:grid}.step-progress span.active{background:var(--green);color:#fff;border-color:var(--green)}.thermometer-wrap,.glucose-wrap{z-index:2;place-items:center;min-height:530px;display:grid;position:relative}.thermometer-device{filter:drop-shadow(23px 33px 27px #14332b40);width:165px;height:505px;position:relative;transform:rotate(3deg)}.thermo-tip{background:linear-gradient(90deg,#b6b9b7,#f4f5f2 40%,#a7aaa8);border-radius:14px 14px 0 0;width:18px;height:72px;position:absolute;top:0;left:74px}.thermo-neck{background:#f3f3ee;border-radius:20px 20px 3px 3px;width:40px;height:60px;position:absolute;top:63px;left:63px}.thermo-body{text-align:center;background:linear-gradient(110deg,#f7f7f1 10%,#fff 52%,#dcded9);border-radius:48px 48px 61px 61px;width:165px;height:375px;padding:43px 24px;position:absolute;top:110px;box-shadow:inset -14px -8px 22px #17242014}.device-wordmark{color:#83908b;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:900;display:block}.device-wordmark span{color:var(--green-2)}.lcd{color:#17372d;background:#a6bcae;border:7px solid #283b35;border-radius:8px;height:92px;padding:12px 8px;font-family:Courier New,monospace;position:relative;box-shadow:inset 0 3px 9px #152d2540}.lcd strong{letter-spacing:-.05em;font-size:31px;line-height:1.4;display:inline-block}.lcd small{margin-left:3px;font-size:10px;font-weight:800}.lcd em{letter-spacing:.08em;font-size:6px;font-style:normal;position:absolute;bottom:3px;left:7px;right:7px}.lcd-icons{justify-content:space-between;font-size:5px;display:flex;position:absolute;top:3px;left:5px;right:5px}.lcd.warning{background:#d9c894}.lcd.error{background:#d8a7a0}.physical-button{background:var(--green);color:#fff;cursor:pointer;border:7px solid #d5dad5;border-radius:50%;width:47px;height:47px;font-size:19px;position:absolute;top:190px;left:calc(50% - 23px);box-shadow:0 4px 9px #17242033}.measure-button{color:#7c8984;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;font-size:7px;font-weight:900;position:absolute;top:250px;left:40px;right:40px}.glucose-wrap{grid-template-rows:1fr auto}.glucose-device{text-align:center;background:linear-gradient(115deg,#f7f7f2,#fff 55%,#daddd7);border-radius:48px 48px 33px 33px;width:250px;height:400px;padding:50px 39px;position:relative;transform:rotate(-2deg);box-shadow:inset -20px -11px 28px #17242012,26px 35px 38px #14332b38}.glucose-device .lcd{height:132px;padding-top:24px}.glucose-device .lcd strong{font-size:45px}.meter-buttons{justify-content:center;align-items:center;gap:14px;margin-top:28px;display:flex}.meter-buttons i{width:34px;height:34px;color:var(--green);background:#d9ddd8;border-radius:50%;place-items:center;font-style:normal;display:grid}.meter-buttons i:nth-child(2){background:var(--green);color:#fff;border:7px solid #d7dcd7;width:48px;height:48px}.strip-port{background:#1d2d28;border-radius:0 0 7px 7px;width:64px;height:11px;position:absolute;bottom:-2px;left:calc(50% - 32px)}.test-strip{background:#fff;border:1px solid #d6d9d5;width:38px;height:110px;position:absolute;bottom:-100px;left:calc(50% - 19px);box-shadow:8px 12px 15px #1724201c}.test-strip:before{content:"";background:repeating-linear-gradient(90deg,#c7a85c 0 4px,#ecda9d 4px 7px);height:26px;position:absolute;top:9px;left:8px;right:8px}.test-strip span{border:2px solid #629989;border-radius:50%;width:13px;height:13px;position:absolute;bottom:12px;left:11px}.glucose-actions{width:250px;margin-top:104px}.sample-button,.secondary-button{cursor:pointer;border-radius:13px;width:100%;min-height:52px;font-weight:800}.sample-button{color:#7d3027;background:#fff;border:1px solid #d9c9c5}.secondary-button{color:var(--green);background:#ffffffa6;border:1px solid #0d554833}.blood-drop{vertical-align:middle;background:#a23c32;border-radius:60% 40% 65% 35%;width:14px;height:19px;margin-right:7px;display:inline-block;transform:rotate(45deg)}.loading-room{text-align:center;flex:1;place-content:center;display:grid}.loading-room h2{margin:20px 0 5px;font:400 35px Georgia,serif}.loading-room p{color:var(--muted)}.loader{border:3px solid var(--mint);border-top-color:var(--green);border-radius:50%;width:38px;height:38px;margin:auto;animation:.8s linear infinite spin}.toast{max-width:420px;box-shadow:var(--shadow);border-radius:11px;padding:14px 18px;position:fixed;bottom:55px;right:22px}.error-toast{color:#fff;background:#742f28}.high-contrast{--muted:#2f3d38;--line:#8a9691}.high-contrast .live-panel{background:#d6e7df}.high-contrast button,.high-contrast input,.high-contrast select{border-color:#52615b}.account-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07232194;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-modal{text-align:center;background:#fff;border-radius:17px;width:min(360px,100%);padding:28px;position:relative;box-shadow:0 30px 80px #0003}.profile-modal-close{position:absolute;top:16px;right:16px}.profile-avatar{width:62px;height:62px;color:var(--lime);background:var(--green);border-radius:50%;place-items:center;margin:0 auto 13px;font:800 18px Manrope,DM Sans,sans-serif;display:grid}.profile-modal h2{margin:0 0 3px;font:800 20px Manrope,DM Sans,sans-serif}.profile-modal>p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.profile-role{color:var(--green-2);background:var(--mint);border-radius:12px;margin-top:10px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-block}.profile-separator{background:var(--line);height:1px;margin:22px 0 16px}.profile-manage-button,.profile-logout-button,.profile-login-link{cursor:pointer;border:0;border-radius:8px;place-items:center;width:100%;min-height:38px;padding:10px 16px;font-size:12px;font-weight:700;text-decoration:none;display:grid}.profile-manage-button{color:var(--green-2);background:var(--mint);margin-bottom:9px}.profile-logout-button{color:#a43e39;background:#fae8e6}.profile-login-link{color:#fff;background:var(--green)}.admin-account-modal{background:var(--surface);border-radius:17px;width:min(850px,100%);max-height:min(90vh,820px);padding:28px;overflow:auto;box-shadow:0 30px 80px #0003}.admin-account-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-account-head .eyebrow{color:var(--green-2);margin:0 0 8px}.admin-account-head h2{margin:0;font:800 20px/1.1 Manrope,DM Sans,sans-serif}.account-modal-close{border:1px solid var(--line);width:40px;height:40px;color:var(--green);cursor:pointer;background:#f4f7f6;border-radius:10px;flex:none;font-size:27px;line-height:1}.admin-account-grid{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:28px;margin-top:22px;display:grid}.account-create-panel,.account-list-panel{min-width:0}.account-create-panel{border-right:1px solid var(--line);padding-right:27px}.account-create-panel h3,.account-list-heading h3{margin:0 0 5px;font:800 13px/1.25 Manrope,DM Sans,sans-serif}.account-create-panel>p:not(.account-form-message){color:var(--muted);margin:0 0 12px;font-size:9px;line-height:1.55}.account-create-form{gap:13px;display:grid}.account-create-form label{gap:6px;display:grid}.account-create-form label>span{color:#657673;font-size:9px;font-weight:700}.account-create-form input,.account-create-form select{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px;font-size:11px}.account-create-form input::placeholder{color:#9aa8a4}.account-submit{border-radius:8px;min-height:46px;margin-top:5px}.account-form-message{border-radius:8px;margin:0 0 16px;padding:11px 12px;font-size:12px;line-height:1.45}.account-form-message.error{color:#873b32;background:#fff0ec;border:1px solid #f3d0c9}.account-form-message.success{color:#145c4e;background:#e7f5ef;border:1px solid #c8e6da}.account-list-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.account-list-heading>span{color:var(--muted);font-size:9px}.managed-account-list{gap:7px;display:grid}.managed-account{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.managed-account.inactive{opacity:.75;background:#f5f6f5}.managed-avatar{width:30px;height:30px;color:var(--green-2);background:var(--mint);border-radius:50%;place-items:center;font:800 9px Manrope,DM Sans,sans-serif;display:grid}.managed-copy{min-width:0}.managed-copy strong,.managed-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.managed-copy strong{font:600 10px DM Sans,sans-serif}.managed-copy small{color:var(--muted);margin-top:2px;font-size:8px}.managed-account em{color:#61716e;background:#eef2f1;border-radius:10px;padding:3px 6px;font-size:8px;font-style:normal}.managed-account>button{color:var(--green-2);cursor:pointer;background:#eef2f1;border:0;border-radius:6px;padding:5px 7px;font-size:8px;font-weight:700}.account-empty{color:var(--muted);text-align:center;background:#fafcfb;border:1px dashed #ccd8d4;border-radius:10px;margin:0;padding:28px 16px;font-size:12px}.app:not(.device-kiosk){--ink:#173735;--muted:#71817f;--paper:#f5f7f6;--surface:#fff;--green:#0d3937;--green-2:#1d786f;--mint:#dff2eb;--orange:#cfe958;--line:#e4e9e7;--shadow:0 12px 36px #10363312;background:var(--paper);min-height:100vh;padding-left:264px;display:block}.app:not(.device-kiosk) .sidebar{z-index:30;color:#fff;background:var(--green);flex-direction:column;width:264px;height:100vh;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.app:not(.device-kiosk) .sidebar-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#416d68 transparent;flex:1;min-height:0;padding-right:5px;overflow:hidden auto}.app:not(.device-kiosk) .sidebar-scroll::-webkit-scrollbar{width:6px}.app:not(.device-kiosk) .sidebar-scroll::-webkit-scrollbar-track{background:0 0}.app:not(.device-kiosk) .sidebar-scroll::-webkit-scrollbar-thumb{background:#416d68;border-radius:10px}.app:not(.device-kiosk) .sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#5b8781}.app:not(.device-kiosk) .brand{color:#fff;cursor:pointer;flex:none;gap:12px;width:100%;padding:0 10px 30px}.app:not(.device-kiosk) .brand-mark{background:var(--lime);width:38px;height:38px;color:var(--green);box-shadow:none;border-radius:12px 12px 4px;font-family:Manrope,DM Sans,sans-serif;font-size:21px;font-weight:800}.app:not(.device-kiosk) .brand strong{letter-spacing:-.3px;font-family:Manrope,DM Sans,sans-serif;font-size:19px}.app:not(.device-kiosk) .brand small{color:#9eb5b2;letter-spacing:0;text-transform:none;margin-top:3px;font-size:11px;font-weight:500}.side-nav{flex:none;gap:6px;display:grid}.nav-item{color:#afc3c0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:44px;padding:11px 13px;font-size:14px;font-weight:600;transition:color .15s,background .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#ffffff1a}.nav-icon{text-align:center;flex:none;width:20px;font-size:20px;line-height:1}.nav-icon.live{color:#65d49f;font-size:10px}.connected-apps{border-top:1px solid #ffffff1a;flex:none;margin-top:20px;padding:16px 5px 0}.connected-apps-title{color:#759491;letter-spacing:1px;text-transform:uppercase;margin:0 7px 9px;font-size:9px;font-weight:700;display:block}.connected-apps-grid{gap:6px;display:grid}.connected-app-link{color:#c5d4d1;background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:8px 9px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:grid}.connected-app-link:hover{color:#fff;background:#ffffff12;border-color:#cfe95847;transform:translate(2px)}.connected-app-mark{width:28px;height:28px;color:var(--green);background:var(--lime);border-radius:8px;place-items:center;font:800 13px Manrope,DM Sans,sans-serif;display:grid}.connected-app-link>span:nth-child(2){min-width:0}.connected-app-link strong,.connected-app-link small{display:block}.connected-app-link strong{text-overflow:ellipsis;white-space:nowrap;font:700 10px DM Sans,sans-serif;overflow:hidden}.connected-app-link small{color:#78938f;margin-top:2px;font-size:8px}.connected-app-arrow{color:#698a85;font-size:12px}.connected-app-link:hover .connected-app-arrow{color:var(--lime)}.sidebar-section{border-top:1px solid #ffffff1a;margin-top:24px;padding:22px 5px 12px}.section-title{color:#759491;background:var(--green);letter-spacing:1px;text-transform:uppercase;justify-content:space-between;align-items:center;margin:-22px -5px 12px;padding:22px 12px 0;font-size:10px;font-weight:700;display:flex}.section-title span:last-child{color:#a7bcb9;letter-spacing:0;background:#ffffff1a;border-radius:10px;padding:2px 7px;font-size:9px}.simulation-status-card{color:#c3d3d0;background:#ffffff0b;border-radius:9px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:11px 9px;display:grid}.simulation-status-card>span:last-child{min-width:0}.simulation-status-card strong,.simulation-status-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.simulation-status-card strong{font-size:11px}.simulation-status-card small{color:#78938f;margin-top:3px;font-size:8px}.simulation-status-icon{color:#9db3af;background:#ffffff12;border-radius:8px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.simulation-status-icon.active{color:#65d49f;font-size:10px;box-shadow:inset 0 0 0 1px #65d49f33}.sidebar-tools{border-top:1px solid #ffffff1a;flex:none;align-items:center;gap:8px;padding:14px 8px;display:flex}.sidebar-tools .connection-pill{flex:1;justify-content:center;min-width:0}.sidebar-tools .icon-button:first-of-type{margin-left:auto}.sidebar-footer{flex:none;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px 8px 0;display:grid}.sidebar-avatar{width:34px;height:34px;color:var(--lime);letter-spacing:-.02em;background:#cfe9582e;border-radius:50%;place-items:center;font-family:Manrope,DM Sans,sans-serif;font-size:11px;font-weight:800;display:grid}.sidebar-account-copy{gap:2px;min-width:0;display:grid}.sidebar-account-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;font-family:Manrope,DM Sans,sans-serif;font-size:12px;line-height:1.2;overflow:hidden}.sidebar-account-copy small{text-overflow:ellipsis;white-space:nowrap;color:#9eb5b2;font-size:11px;line-height:1.2;overflow:hidden}.profile-button{color:#759491;cursor:pointer;letter-spacing:1px;background:0 0;border:0;border-radius:7px;width:28px;height:28px;padding:0;font-size:11px}.profile-button:hover{color:#fff;background:#ffffff12}.app:not(.device-kiosk) .connection-pill{color:#d8efea;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;min-width:0;height:34px;padding:0 10px;font-size:10px}.app:not(.device-kiosk) .icon-button{color:#fff;background:#ffffff0f;border-color:#ffffff1f;width:34px;height:34px}.workspace-topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;align-items:center;gap:16px;min-height:72px;padding:0 38px;display:flex;position:sticky;top:0}.menu-button{border:1px solid var(--line);width:42px;height:42px;color:var(--green);cursor:pointer;background:#fff;border-radius:9px;font-size:19px;font-weight:700;display:none}.breadcrumbs{color:#879592;align-items:center;gap:9px;min-width:0;font-size:11px;display:flex}.breadcrumbs b{color:#c0cac7}.breadcrumbs strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mobile-connection,.sidebar-backdrop{display:none}.app:not(.device-kiosk) .home-shell,.app:not(.device-kiosk) .room-shell,.app:not(.device-kiosk) .join-shell,.app:not(.device-kiosk) .device-info-shell{width:min(1180px,100% - 76px);margin:0 auto;padding:42px 0 70px}.app:not(.device-kiosk) .home-shell:before,.app:not(.device-kiosk) .room-shell:before,.app:not(.device-kiosk) .join-shell:before,.app:not(.device-kiosk) .device-info-shell:before{display:none}.app:not(.device-kiosk) .hero-copy{border-bottom:1px solid var(--line);max-width:760px;margin-bottom:26px;padding-bottom:24px}.app:not(.device-kiosk) .eyebrow{color:#086b68;letter-spacing:.18em;margin-bottom:14px;font-size:11px}.app:not(.device-kiosk) .hero-copy h1{letter-spacing:-1.2px;font-family:Manrope,DM Sans,sans-serif;font-size:clamp(32px,4vw,46px);font-weight:800;line-height:1.15}.app:not(.device-kiosk) .hero-copy h1 span{color:inherit;font-style:normal}.app:not(.device-kiosk) .hero-text{max-width:620px;margin:12px 0 0;font-size:13px;line-height:1.6}.home-stats{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin:24px 0 38px;display:grid;overflow:hidden}.home-stats article{background:#fff;min-width:0;padding:20px}.home-stats span{color:var(--muted);font-size:9px;display:block}.home-stats strong{margin-top:7px;font-family:Manrope,DM Sans,sans-serif;font-size:24px;display:block}.home-stats .home-role{font-size:16px}.home-section-heading{margin-bottom:15px}.home-section-heading h2{margin:0 0 4px;font-family:Manrope,DM Sans,sans-serif;font-size:17px}.home-section-heading p{color:var(--muted);margin:0;font-size:10px}.auth-status{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;margin:-16px 0 28px;padding:14px 16px;display:grid}.auth-status strong{font-family:Manrope,DM Sans,sans-serif;font-size:12px}.auth-status span{color:var(--muted);font-size:10px;line-height:1.5}.auth-status.allowed{background:#f4faf7;border-color:#cde5da}.auth-status.blocked{background:#fff8ec;border-color:#efd9b3}.auth-action-link{color:#fff;background:var(--green);border-radius:7px;width:-moz-fit-content;width:fit-content;margin-top:6px;padding:9px 12px;font-size:11px;font-weight:800;text-decoration:none}.auth-action-link:hover{background:#14534f}.device-info-grid{gap:14px;margin-top:24px;display:grid}.device-info-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:24px;display:grid;overflow:hidden}.device-info-visual{border-right:1px solid var(--line);background:#eef6f4;place-items:center;min-height:260px;display:grid;position:relative;overflow:hidden}.device-info-visual:after{content:"";border:1px solid #0d55481a;border-radius:50%;width:220px;height:220px;position:absolute;box-shadow:0 0 0 52px #fff3}.device-info-copy{padding:28px 30px}.device-info-copy h2{letter-spacing:-.6px;margin:0 0 10px;font-family:Manrope,DM Sans,sans-serif;font-size:26px}.device-info-copy p:not(.eyebrow){color:var(--muted);max-width:680px;margin:0 0 18px;font-size:13px;line-height:1.65}.device-info-copy ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.device-info-copy li{color:#304946;padding-left:22px;font-size:13px;line-height:1.45;position:relative}.device-info-copy li:before{content:"✓";color:#086b68;font-weight:900;position:absolute;top:0;left:0}.preview-thermometer{z-index:1;background:linear-gradient(110deg,#f8f8f3,#fff 55%,#daddd7);border-radius:24px 24px 32px 32px;align-content:start;justify-items:center;width:70px;height:210px;padding:34px 12px;display:grid;transform:rotate(3deg);box-shadow:18px 24px 32px #14332b29}.preview-thermometer span{background:#cbd0cc;border-radius:12px 12px 0 0;width:15px;height:44px;margin-top:-64px}.preview-thermometer strong,.preview-glucose strong{color:#17372d;background:#a6bcae;border:5px solid #24352f;border-radius:7px;place-items:center;width:100%;min-height:48px;font-family:Courier New,monospace;font-size:20px;display:grid}.preview-thermometer small,.preview-glucose small{color:var(--green);margin-top:6px;font-size:10px;font-weight:900}.preview-glucose{z-index:1;background:linear-gradient(110deg,#f8f8f3,#fff 55%,#daddd7);border-radius:34px 34px 22px 22px;align-content:start;justify-items:center;width:150px;height:220px;padding:44px 24px;display:grid;transform:rotate(-2deg);box-shadow:18px 24px 32px #14332b29}.preview-glucose strong{min-height:72px;font-size:32px}.preview-glucose span{background:#1d2d28;border-radius:0 0 6px 6px;width:40px;height:8px;margin-top:auto;margin-bottom:-44px}.device-info-actions{gap:12px;margin-top:18px;display:flex}.device-info-actions .primary-button,.device-info-actions .secondary-button{width:auto;min-width:180px;margin-top:0}.secondary-button{border:1px solid var(--line);min-height:52px;color:var(--green);cursor:pointer;background:#fff;border-radius:7px;padding:13px 20px;font-weight:800}.app:not(.device-kiosk) .mode-grid{gap:12px;margin-top:0}.app:not(.device-kiosk) .mode-card,.app:not(.device-kiosk) .join-panel,.app:not(.device-kiosk) .live-panel,.app:not(.device-kiosk) .control-panel,.app:not(.device-kiosk) .instruction-card{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:8px}.app:not(.device-kiosk) .mode-card{min-height:124px;color:var(--ink);grid-template-columns:1fr auto;padding:24px}.app:not(.device-kiosk) .control-card,.app:not(.device-kiosk) .device-card{color:var(--ink);background:#fff}.app:not(.device-kiosk) .mode-icon,.app:not(.device-kiosk) .mode-number{display:none}.app:not(.device-kiosk) .mode-copy strong{margin-bottom:8px;font-family:Manrope,DM Sans,sans-serif;font-size:18px;font-weight:800}.app:not(.device-kiosk) .mode-copy small{max-width:100%;color:var(--muted);opacity:1}.app:not(.device-kiosk) .card-arrow{color:#0b433e;font-size:20px}.app:not(.device-kiosk) .feature-row{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:12px}.app:not(.device-kiosk) .demo-hint{color:#0b433e;background:#eef6f4;border-color:#d6e5e1;border-radius:8px}.app:not(.device-kiosk) .safety-note{border-color:var(--line);background:#f4f7f6;min-height:40px}.app:not(.device-kiosk) .room-meta{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:72px;margin-bottom:26px;padding:0 20px}.app:not(.device-kiosk) .room-meta strong{color:var(--ink)}.app:not(.device-kiosk) .leave-button,.app:not(.device-kiosk) .back-button{border-radius:8px}.app:not(.device-kiosk) .controller-layout{grid-template-columns:330px minmax(520px,1fr);gap:16px}.app:not(.device-kiosk) .live-panel{background:#f9fbfa;padding:24px}.app:not(.device-kiosk) .control-panel{padding:26px}.app:not(.device-kiosk) .panel-heading h1{letter-spacing:-1px;font-family:Manrope,DM Sans,sans-serif;font-size:30px;font-weight:800}.app:not(.device-kiosk) .hidden-badge,.app:not(.device-kiosk) .unit-toggle button,.app:not(.device-kiosk) .duration-grid button,.app:not(.device-kiosk) .remote-actions button,.app:not(.device-kiosk) .form-section select,.app:not(.device-kiosk) .value-control,.app:not(.device-kiosk) .code-input{border-radius:6px}.app:not(.device-kiosk) .save-config,.app:not(.device-kiosk) .primary-button{background:#0b433e;border-radius:7px}.app:not(.device-kiosk) .remote-actions .start-action{color:#fff;background:#0b433e;border-color:#0b433e}.app:not(.device-kiosk) .simulation-stage{border:1px solid var(--line);background:#eef4f2;border-radius:8px}.device-kiosk{overscroll-behavior:none;touch-action:manipulation;background:radial-gradient(circle at 50% 18%,#ffffff9e,#0000 32%),linear-gradient(150deg,#d9e6df 0%,#bfcfc8 100%);width:100vw;height:100dvh;min-height:100vh;position:fixed;inset:0;overflow:hidden}.device-kiosk .sidebar,.device-kiosk .workspace-topbar,.device-kiosk .sidebar-backdrop,.device-kiosk .safety-note,.device-room .room-meta,.device-room .device-tabs,.device-room .instruction-card{display:none}.device-room{place-items:center;width:100%;min-height:100vh;margin:0;padding:0;display:grid}.device-room .connection-warning{z-index:30;max-width:430px;margin:0 auto;position:fixed;inset:18px 18px auto;box-shadow:0 20px 50px #1724202e}.device-room .device-layout{place-items:center;width:100%;min-height:100vh;display:grid}.device-room .fullscreen-help{z-index:21;justify-items:start;gap:8px;max-width:min(310px,100vw - 28px);display:grid;position:fixed;bottom:clamp(14px,4vw,34px);left:clamp(14px,4vw,34px)}.device-room .fullscreen-help p{color:var(--green);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #17242024;border-radius:12px;margin:0;padding:11px 13px;font-size:12px;line-height:1.35;box-shadow:0 14px 36px #17242024}.device-room .fullscreen-button{z-index:20;min-height:48px;color:var(--green);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#ffffffd1;border:1px solid #17242029;border-radius:999px;align-items:center;gap:9px;padding:0 18px;font-size:13px;font-weight:850;display:inline-flex;position:fixed;bottom:clamp(14px,4vw,34px);left:clamp(14px,4vw,34px);box-shadow:0 14px 36px #17242029}.device-room .fullscreen-help .fullscreen-button{position:static}.device-room .fullscreen-button span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:15px;line-height:1;display:grid}.device-room .device-switch{z-index:20;min-height:48px;color:var(--green);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#ffffffd1;border:1px solid #17242029;border-radius:999px;align-items:center;gap:9px;padding:0 18px;font-size:13px;font-weight:850;display:inline-flex;position:fixed;bottom:clamp(14px,4vw,34px);right:clamp(14px,4vw,34px);box-shadow:0 14px 36px #17242029}.device-room .device-switch span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;line-height:1;display:grid}.device-room .device-switch:disabled{opacity:.45;cursor:not-allowed}.device-room .simulation-stage{background:radial-gradient(circle at 50% 42%,#ffffff70,#0000 33%),linear-gradient(145deg,#dfe9e4 0%,#c5d5ce 55%,#aec3bb 100%);border-radius:0;grid-template-columns:1fr;place-items:center;width:100%;min-height:100vh;padding:clamp(24px,5vw,70px);display:grid}.device-room .simulation-stage:after{border-color:#0d554814;width:70vmin;height:70vmin;bottom:50%;right:50%;transform:translate(50%,50%);box-shadow:0 0 0 12vmin #ffffff17,0 0 0 24vmin #ffffff0f}.device-room .thermometer-wrap,.device-room .glucose-wrap{width:min(92vw,720px);min-height:auto;transform:none}.device-room .thermometer-device{filter:drop-shadow(30px 42px 35px #14332b47);width:clamp(178px,26vw,245px);height:clamp(545px,78vh,730px);transform:rotate(1.5deg)}.device-room .thermo-tip{width:26px;height:105px;left:calc(50% - 13px)}.device-room .thermo-neck{width:58px;height:85px;top:94px;left:calc(50% - 29px)}.device-room .thermo-body{border-radius:62px 62px 82px 82px;width:100%;height:calc(100% - 170px);padding:58px 34px;top:160px}.device-room .thermometer-device .lcd{border-width:9px;height:125px}.device-room .thermometer-device .lcd strong{font-size:clamp(38px,7vw,55px)}.device-room .thermometer-device .physical-button{border-width:9px;width:66px;height:66px;font-size:25px;top:260px;left:calc(50% - 33px)}.device-room .thermometer-device .measure-button{min-height:34px;font-size:10px;top:348px;left:48px;right:48px}.device-room .glucose-wrap{grid-template-rows:auto auto;row-gap:28px}.device-room .glucose-device{border-radius:58px 58px 42px 42px;width:clamp(270px,42vw,390px);height:clamp(430px,68vh,610px);padding:clamp(54px,8vh,82px) clamp(40px,6vw,62px);transform:rotate(-1deg);box-shadow:inset -25px -14px 34px #17242014,34px 46px 44px #14332b40}.device-room .glucose-device .lcd{border-width:9px;height:clamp(142px,24vh,190px);padding-top:30px}.device-room .glucose-device .lcd strong{font-size:clamp(52px,10vw,78px)}.device-room .meter-buttons{gap:20px;margin-top:38px}.device-room .meter-buttons i{width:44px;height:44px}.device-room .meter-buttons i:nth-child(2){border-width:9px;width:62px;height:62px}.device-room .strip-port{width:88px;height:15px;left:calc(50% - 44px)}.device-room .test-strip{width:48px;height:140px;bottom:-128px;left:calc(50% - 24px)}.device-room .glucose-actions{z-index:3;width:min(340px,80vw);margin-top:82px;position:relative}.device-room .glucose-actions button{box-shadow:0 14px 30px #14332b21}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:1200px) and (min-width:901px){.app:not(.device-kiosk) .join-shell{width:calc(100vw - 312px)}.join-layout{grid-template-columns:minmax(0,1fr) 230px}.join-page-qr{padding:20px}.join-page-qr .room-qr-image{width:150px;height:150px}}@media (max-width:900px){.app:not(.device-kiosk){padding-left:0}.app:not(.device-kiosk) .sidebar{transition:transform .22s,box-shadow .22s;transform:translate(-100%)}.app:not(.device-kiosk) .sidebar.open{transform:translate(0);box-shadow:20px 0 60px #06232147}body.sidebar-open{overflow:hidden}body.sidebar-open .sidebar-backdrop{z-index:25;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#082b2973;border:0;display:block;position:fixed;inset:0}.workspace-topbar{min-height:72px;padding:0 18px}.menu-button{flex:none;place-items:center;display:grid}.mobile-connection{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.mobile-connection i{background:#32a176;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #32a1761f}.mobile-connection.reconnecting i,.mobile-connection.connecting i{background:#e99a3d;box-shadow:0 0 0 4px #e99a3d21}.app:not(.device-kiosk) .home-shell,.app:not(.device-kiosk) .room-shell,.app:not(.device-kiosk) .join-shell,.app:not(.device-kiosk) .device-info-shell{width:min(100% - 32px,1104px);padding-top:32px}.mode-grid,.controller-layout,.simulation-stage,.device-info-card{grid-template-columns:1fr}.join-layout{grid-template-columns:minmax(0,1fr) 240px;margin-top:4vh}.join-page-qr{padding:20px}.join-page-qr .room-qr-image{width:150px;height:150px}.device-info-visual{border-right:0;border-bottom:1px solid var(--line);min-height:210px}.dual-config-grid,.home-stats{grid-template-columns:1fr}.mode-card{grid-template-columns:90px 1fr auto}.mode-icon{width:85px;height:85px}.live-panel{grid-template-columns:1fr 180px;align-items:center;display:grid}.live-panel .panel-kicker,.live-panel h2,.live-panel .device-connection,.status-table{grid-column:1}.mini-device{grid-area:1/2/5;width:160px;height:210px;margin:0;padding:35px 20px}.mini-device.glucose{height:195px}.mini-screen{height:74px}.mini-screen strong{font-size:25px}.mini-device i{bottom:26px}.simulation-stage{padding:22px}.instruction-card{width:100%;max-width:600px;margin:0 auto}.thermometer-wrap,.glucose-wrap{min-height:550px}}@media (max-width:620px){.account-modal-backdrop{align-items:end;padding:0}.admin-account-modal{border-radius:18px 18px 0 0;width:100%;max-height:94svh;padding:22px 20px}.admin-account-grid{grid-template-columns:1fr}.account-create-panel,.account-list-panel{padding:24px 20px}.account-create-panel{border-right:0;border-bottom:1px solid var(--line)}.workspace-topbar{gap:11px;min-height:64px;padding:0 12px}.menu-button{width:40px;height:40px}.breadcrumbs{gap:6px}.breadcrumbs span{display:none}.app:not(.device-kiosk) .sidebar{width:min(284px,100vw - 34px)}.home-shell,.room-shell,.join-shell{width:min(100% - 24px,1180px)}.home-shell{padding-top:43px}.hero-copy h1{font-size:43px}.hero-text{margin:21px 0 30px}.mode-grid{gap:13px}.mode-card{grid-template-columns:72px 1fr;gap:16px;min-height:188px;padding:21px}.mode-icon{width:70px;height:70px}.mode-copy strong{font-size:26px}.mode-copy small{font-size:11px}.card-arrow{display:none}.feature-row{gap:12px 22px}.room-meta{flex-wrap:wrap;gap:10px 15px}.role-label{margin-left:0}.leave-button{margin-left:auto}.room-meta>div:first-child{width:calc(100% - 110px)}.room-meta strong{font-size:18px}.live-panel{padding:22px;display:block}.mini-device{display:none}.control-panel{padding:23px 18px}.panel-heading{display:block}.hidden-badge{margin-top:13px;display:inline-block}.control-panel fieldset{grid-template-columns:1fr}.form-section:first-of-type,.save-config{grid-column:1}.remote-actions{grid-template-columns:1fr 1fr}.remote-actions .start-action{grid-column:1/-1}.device-info-copy{padding:22px}.join-layout{grid-template-columns:1fr;margin-top:20px}.join-page-qr{display:none}.room-specific{grid-template-columns:minmax(0,1fr) 92px;gap:7px 12px;padding:14px}.room-specific .room-qr-image{width:92px;height:92px}.room-specific .room-qr-copy h2{font-size:17px}.room-specific .room-qr-copy>p:not(.eyebrow){font-size:11px}.device-info-actions{display:grid}.device-info-actions .primary-button,.device-info-actions .secondary-button,.device-tabs{width:100%}.device-tabs button{flex:1;min-width:0}.simulation-stage{border-radius:20px;margin-left:-6px;margin-right:-6px;padding:14px}.instruction-card{padding:25px 21px}.instruction-card h1{font-size:34px}.thermometer-wrap{margin:-25px 0;transform:scale(.88)}.glucose-wrap{margin:-45px 0;transform:scale(.85)}.safety-note{font-size:9px}.device-kiosk{background:radial-gradient(circle at 50% 22%,#ffffff94,#0000 36%),linear-gradient(155deg,#e1ebe6 0%,#bfd1ca 100%);min-height:100svh;overflow:hidden}.device-room,.device-room .device-layout{min-height:100svh}.device-room .simulation-stage{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 16px max(82px, calc(env(safe-area-inset-bottom) + 76px));overflow:hidden}.device-room .simulation-stage:after{opacity:.8;width:88vmin;height:88vmin;bottom:44%}.device-room .connection-warning{inset:max(10px, env(safe-area-inset-top)) 10px auto;border-radius:10px;max-width:calc(100vw - 20px);padding:10px 12px}.device-room .fullscreen-button{left:max(12px, env(safe-area-inset-left));right:auto;bottom:max(14px, env(safe-area-inset-bottom));justify-content:center;width:54px;min-height:54px;padding:0;font-size:0}.device-room .fullscreen-button span{width:30px;height:30px;font-size:16px}.device-room .device-switch{left:max(78px, calc(env(safe-area-inset-left) + 78px));right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));justify-content:center;min-height:54px;padding:0 18px;font-size:14px}.device-room .device-switch span{width:30px;height:30px}.device-room .thermometer-wrap,.device-room .glucose-wrap{width:100%;margin:0;transform:none}.device-room .thermometer-device{filter:drop-shadow(18px 28px 24px #14332b3d);width:min(45vw,188px);height:min(72svh,600px);transform:rotate(1deg)}.device-room .thermo-tip{width:20px;height:82px;left:calc(50% - 10px)}.device-room .thermo-neck{width:44px;height:64px;top:76px;left:calc(50% - 22px)}.device-room .thermo-body{border-radius:48px 48px 64px 64px;height:calc(100% - 138px);padding:42px 24px;top:132px}.device-room .thermometer-device .lcd{border-width:7px;height:100px}.device-room .thermometer-device .lcd strong{font-size:clamp(32px,11vw,44px)}.device-room .thermometer-device .physical-button{border-width:7px;width:54px;height:54px;font-size:21px;top:214px;left:calc(50% - 27px)}.device-room .thermometer-device .measure-button{min-height:32px;font-size:9px;top:284px;left:34px;right:34px}.device-room .glucose-wrap{grid-template-rows:1fr auto;align-items:center;row-gap:14px;min-height:calc(100svh - 110px)}.device-room .glucose-device{border-radius:46px 46px 34px 34px;width:min(74vw,310px);height:min(62svh,500px);padding:52px 38px;transform:rotate(-.5deg);box-shadow:inset -18px -10px 26px #17242014,20px 30px 30px #14332b38}.device-room .glucose-device .lcd{border-width:8px;height:min(23svh,152px);padding-top:24px}.device-room .glucose-device .lcd strong{font-size:clamp(44px,15vw,62px)}.device-room .meter-buttons{gap:14px;margin-top:28px}.device-room .meter-buttons i{width:36px;height:36px}.device-room .meter-buttons i:nth-child(2){border-width:7px;width:52px;height:52px}.device-room .strip-port{width:70px;left:calc(50% - 35px)}.device-room .test-strip{width:38px;height:112px;bottom:-102px;left:calc(50% - 19px)}.device-room .glucose-actions{width:min(78vw,300px);margin-top:42px}.device-room .glucose-actions button{border-radius:999px;min-height:50px}}@media (max-width:380px),(max-height:700px){.device-room .simulation-stage{padding-top:12px;padding-bottom:max(72px, calc(env(safe-area-inset-bottom) + 68px))}.device-room .thermometer-device{width:min(42vw,160px);height:min(70svh,520px)}.device-room .thermo-tip{height:70px}.device-room .thermo-neck{height:56px;top:64px}.device-room .thermo-body{height:calc(100% - 118px);padding:34px 20px;top:112px}.device-room .thermometer-device .physical-button{top:184px}.device-room .thermometer-device .measure-button{top:246px}.device-room .glucose-device{width:min(72vw,270px);height:min(58svh,430px);padding:42px 32px}.device-room .glucose-actions{margin-top:32px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
