*{box-sizing:border-box}body{margin:0;background:#151b17;color:#fff;font:13px Arial,sans-serif;height:100dvh;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:2px solid #edcf8b;outline-offset:3px}#video{display:none}#mirror{width:100%;height:100%;position:absolute;inset:0}header{position:absolute;top:0;left:0;right:0;padding:calc(22px + env(safe-area-inset-top)) 25px 24px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#0008,transparent);z-index:2}header b{letter-spacing:2px;font-size:10px}header span{display:block;font:italic 18px Georgia;margin-top:7px;color:#ecd7a5}header button,#toolbar button,#reset{border:1px solid #ffffff40;background:#17201888;border-radius:30px;padding:10px 15px;font-size:11px}#message{position:absolute;top:107px;left:20px;right:20px;text-align:center;font-size:11px;letter-spacing:.4px;color:#f2e7cf;text-shadow:0 1px 4px #000;background:#0004;width:fit-content;max-width:calc(100% - 40px);margin:auto;padding:8px 13px;border-radius:20px}#gate{position:absolute;inset:0;bottom:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse,#384639,#151b17)}.symbol{font-size:40px;color:#e5bf75}h1{font:48px/1.06 Georgia;margin:14px 0}h1 i{color:#e5bf75}#gate p{color:#d1d2c9;font-size:12px;line-height:1.7;margin:8px 0 18px}#start{border:0;background:#e9d6a7;color:#242b22;padding:16px 30px;border-radius:3px;font-size:12px}#gate small{font-size:10px;color:#b5b9ae;line-height:1.7;margin-top:15px}#toolbar{position:absolute;bottom:255px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;max-width:520px;margin:auto}#toolbar #capture{font-size:39px;border:4px solid #fff9;border-radius:50%;height:64px;width:64px;padding:0;background:#e8d5aa;color:#273023}#capture:disabled{opacity:.4}#picker{position:absolute;bottom:0;left:0;right:0;background:#f5f0e6;color:#293027;border-radius:22px 22px 0 0;padding:19px 22px calc(12px + env(safe-area-inset-bottom));height:235px}.picker-head{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.3px;max-width:600px;margin:auto}.picker-head span:last-child{color:#8b7040;letter-spacing:0}nav{display:flex;gap:22px;max-width:600px;margin:15px auto 12px;border-bottom:1px solid #ded7c8}.tab{background:none;color:#8b8a7f;border:0;border-bottom:2px solid transparent;padding:0 0 9px;font-size:12px}.tab.active{color:#333b2c;border-color:#9b7a3d}#items{display:flex;gap:10px;max-width:600px;margin:auto}.item{background:#ece6da;border:1px solid #d7cebc;border-radius:8px;display:flex;align-items:center;gap:12px;padding:8px 14px;color:#30392d;min-width:110px;flex:1;max-width:220px;text-align:left;height:76px;font-size:11px}.item.active{border-color:#8b6e35;box-shadow:inset 0 0 0 1px #8b6e35}.item img{height:55px;width:65px;object-fit:contain}.item span{line-height:1.5}.item.off{max-width:72px;min-width:55px;flex:0;justify-content:center;color:#7e7b71}.item.off.active{color:#30392d}#picker p{max-width:600px;margin:12px auto 0;color:#928b7e;font-size:9px}#fit{position:absolute;bottom:332px;left:20px;right:20px;padding:15px;background:#172018ed;border:1px solid #ffffff30;border-radius:12px;max-width:380px;margin:auto}#fit label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:9px}input{accent-color:#dec28b;width:75%}#fit small{display:block;margin-top:10px;font-size:9px;color:#c6cbbb}[hidden]{display:none!important}@media(min-width:800px){#picker{left:50%;transform:translateX(-50%);width:650px}#gate{bottom:235px}#mirror{object-fit:contain}}@media(max-height:720px){h1{font-size:35px}.symbol{font-size:25px}#gate p{margin:0 0 10px}#gate small{margin-top:8px}#message{top:90px}header{padding-top:18px}}@media(max-width:380px){.item{padding:7px;gap:5px}.item img{width:45px}.item span{font-size:10px}}

#fitCategory{display:block;text-transform:capitalize;font-size:11px;color:#edcf8b;margin-bottom:14px}#fit{max-height:calc(100dvh - 350px);overflow:auto}

/* A fixed 80/20 split follows the phone's visible viewport. */
#mirror{height:80dvh}#gate{bottom:20dvh}#picker{height:20dvh;border-radius:16px 16px 0 0;padding:8px 16px max(5px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:5px}
.picker-head,#picker>p{display:none}#picker nav{width:100%;margin:0 auto;gap:22px;min-height:23px;flex-shrink:0}#picker .tab{font-size:11px;padding-bottom:5px}
#items{width:100%;flex:1;min-height:0;gap:8px}#picker .item{height:100%;min-height:0;padding:3px 10px;gap:8px;max-width:none}#picker .item img{height:100%;max-height:65px;width:52px;min-height:0}#picker .item span{font-size:10px}#picker .item.off{max-width:58px;min-width:46px}
#picker #toolbar{position:static;width:100%;flex-shrink:0;min-height:26px;margin:0 auto;max-width:600px;gap:12px}#picker #toolbar button{padding:4px 10px;font-size:10px;color:#33402f;background:#e7e0d0;border-color:#cbc1ab}#picker #toolbar #capture{width:29px;height:29px;font-size:24px;border:1px solid #a58a50;line-height:24px;padding:0}
#fit{bottom:calc(20dvh + 12px);max-height:calc(80dvh - 115px)}
@media(min-width:800px){#gate{bottom:20dvh}#picker{width:100%;left:0;transform:none}}
@media(max-height:650px){#picker{padding-top:5px;gap:3px}#picker nav{min-height:19px}#picker .tab{padding-bottom:3px;font-size:10px}#picker .item img{max-height:40px;width:36px}#picker .item span{font-size:9px}#picker #toolbar{min-height:23px}#picker #toolbar #capture{height:23px;width:25px;font-size:21px;line-height:20px}}

#message{z-index:3;pointer-events:none}#cameraHelp{max-width:290px;padding:0 12px}#retry{position:absolute;top:148px;left:50%;transform:translateX(-50%);z-index:4;border:1px solid #d1ba81;border-radius:25px;background:#27372a;color:#f7eac8;padding:9px 14px;font-size:11px}
