:root{font-family:Inter,Arial,sans-serif;color:#263a34;background:#f6f4ee;font-synthesis:none;--ink:#263a34;--muted:#77817a;--accent:#c95438;--line:#e2e4dc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #e29852;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:102px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw}.brand{display:flex;align-items:center;font-weight:750;font-size:27px;letter-spacing:-1px;gap:5px}.brand>span:last-child{font-weight:400;color:#748178}.brand-mark{display:grid;place-items:center;background:var(--accent);border-radius:50%;color:#fff8ed;width:34px;height:34px;margin-right:8px;font:italic 29px Georgia}.top-right{display:flex;gap:28px;align-items:center}.small-label,.eyebrow,.step,.online-label{font-size:10px;font-weight:700;letter-spacing:1.8px}.small-label{color:#839088}.eyebrow{color:var(--accent);margin:0 0 22px}.text-button{background:none;color:var(--ink);font-weight:600;padding:10px 0;font-size:13px}.primary{border-radius:8px;background:var(--accent);color:#fff;padding:16px 22px;font-size:14px;font-weight:600;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:0 5px 12px #c9543812}.primary:hover{background:#b54a31}.secondary{padding:12px 18px;border:1px solid #cfd5cd;background:#fffdfa;color:var(--ink);border-radius:8px;font-size:13px}.welcome{max-width:1160px;margin:68px auto 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:95px;padding:0 30px}.story h1{font-size:70px;line-height:1.03;letter-spacing:-3px;margin:0 0 25px;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro{color:#788078;font-size:16px;line-height:1.8;max-width:370px}.little-world{position:relative;margin-top:30px;width:310px}.world-screen{width:190px;height:190px;border-radius:50%;overflow:hidden;position:relative;background:#e1cbb0;border:10px solid #fcfaf4;box-shadow:8px 15px 25px #273b3422;transform:rotate(-9deg)}.sun{position:absolute;width:45px;height:45px;background:#d87550;border-radius:50%;left:80px;top:27px}.hill{position:absolute;background:#6e8877;width:200px;height:200px;border-radius:40%;transform:rotate(45deg);top:102px;left:-60px}.hill.two{left:57px;top:105px;background:#355b4d}.caption{position:absolute;left:148px;top:116px;width:215px;padding:15px;background:#fffefa;border:1px solid #e9e8df;font-family:Georgia,serif;font-style:italic;font-size:13px;transform:rotate(5deg);box-shadow:0 6px 15px #273b3408}.caption span{color:var(--accent);margin-left:8px}.auth-card{background:#fffefa;border:1px solid #e3e5dc;border-radius:16px;padding:34px 38px;align-self:center;box-shadow:0 10px 45px #263a3405}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:38px}.auth-tabs button{width:50%;background:none;padding:0 0 15px;font-size:12px;color:var(--muted)}.auth-tabs .active{color:var(--ink);border-bottom:2px solid var(--accent);font-weight:600}.step{color:#819084;font-size:9px}.auth-card h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:12px 0}.auth-card p{font-size:13px;color:var(--muted);line-height:1.7}.auth-card form{margin-top:25px}.auth-card .primary{width:100%;margin-top:12px}label{display:block;font-size:12px;font-weight:600;margin-bottom:20px}input,select{display:block;width:100%;border:1px solid #dfe2d8;background:#fafbf7;padding:13px 14px;border-radius:6px;color:var(--ink);margin-top:8px;font-size:14px;outline:none}input:focus,select:focus{border-color:#7c998b;box-shadow:0 0 0 3px #7c998b15}input::placeholder{color:#a0a59b}small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.6;display:block;margin-top:6px}.auth-note{display:flex;gap:16px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;align-items:center}.auth-note>span{font-size:30px;color:#8da18f}.auth-note p{font-size:11px;margin:0}.error{color:#b1392c!important;line-height:1.5;font-size:13px}.error:empty{display:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:52px 0 40px}.page-heading h1{font-size:48px;font-weight:500;letter-spacing:-2px;margin:0 0 13px}.page-heading .eyebrow{margin-bottom:15px}.page-heading p:last-child{font-size:14px;color:var(--muted);margin:0}#dashboard{max-width:1280px;margin:auto;padding:0 5vw 65px}.workspace{display:grid;grid-template-columns:255px 1fr;gap:38px}.device-card{border:1px solid #d9dfd4;border-radius:12px;background:#edf0e7;padding:25px 22px;text-align:center}.online-label{font-size:9px;color:#6d7e70;display:flex;gap:8px;align-items:center;justify-content:center}.online-label i{width:5px;height:5px;border-radius:50%;background:#849a76}.device-mini{width:93px;height:93px;border:7px solid #fffdf8;background:#d6dbcd;border-radius:50%;display:grid;place-items:center;margin:25px auto 20px;box-shadow:2px 6px 12px #233c3410;color:#65806c;font:40px Georgia}.device-card h2{font-size:16px;margin:0 0 10px;overflow-wrap:anywhere}.device-card code{font-size:10px;color:#748477}.device-card .text-button{display:block;font-size:11px;margin:10px auto}.device-card hr{border:0;border-top:1px solid #d9dfd4;margin:22px 0}.storage-head{font-size:10px;display:flex;justify-content:space-between;gap:10px;text-align:left}.storage-head strong{font-weight:500;white-space:nowrap}.meter{height:5px;border-radius:6px;background:#dbe0d4;overflow:hidden;margin:12px 0}.meter span{display:block;background:#7d9274;height:100%;width:0;transition:width .4s}.micro{color:var(--muted);font-size:11px;line-height:1.7;font-weight:400}.device-card .micro{text-align:left;margin-bottom:0}.howto{padding:28px 10px}.howto ol{padding-left:17px;font-size:12px;line-height:2.2;color:#697a6d}.howto li::marker{color:#a0ae9c}.dropzone{background:#fbfaf5;border:1.5px dashed #b8c9b7;border-radius:12px;display:flex;align-items:center;text-align:left;width:100%;padding:26px;gap:18px;color:var(--ink);min-height:115px}.dropzone:hover,.dropzone.drag{background:#edf1e6}.upload-icon{font-size:25px;color:#7a9175;border:1px solid #dce4d7;border-radius:12px;width:45px;height:45px;display:grid;place-items:center}.dropzone strong{font-family:Georgia,serif;font-weight:400;font-size:21px}.dropzone small{margin-top:7px;font-size:11px}.round-plus{margin-left:auto;border-radius:50%;background:#f0e2d7;color:var(--accent);height:30px;width:30px;display:grid;place-items:center}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 23px;gap:12px}.collection-heading h2{font-size:17px;font-weight:600;margin:0}.collection-heading h2 span{font-size:10px;border-radius:50%;background:#e7e9df;display:inline-grid;place-items:center;width:23px;height:23px;margin-left:8px;color:#6c7f6c}.empty{text-align:center;padding:30px 10px 55px}.empty-orbit{font-size:44px;color:#a8b79e;line-height:1.4}.empty h3{font:25px Georgia,serif;margin:15px}.empty p{font-size:13px;line-height:1.8;color:var(--muted)}.empty .text-button{color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-card{padding:15px;border:1px solid #e4e5dc;border-radius:12px;background:#fffefa;min-width:0}.media-image{aspect-ratio:1;border-radius:50%;background:#e9eddf;overflow:hidden;margin:7px 8px 18px}.media-image img{width:100%;height:100%;object-fit:cover}.media-card h3{font-size:13px;margin:0 0 8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.media-meta{font-size:10px;color:#819081;display:flex;justify-content:space-between;gap:6px}.media-actions{border-top:1px solid #eceee5;display:flex;gap:5px;margin-top:14px;padding-top:9px}.media-actions button{background:none;color:#758374;font-size:11px;padding:5px 8px;border-radius:4px}.media-actions button:hover{background:#eff1e8}.media-actions button:last-child{margin-left:auto;color:#bc725d}.media-actions button:disabled{opacity:.2;cursor:default}footer{border-top:1px solid var(--line);margin:0 5.5vw;padding:25px 0 32px;display:flex;justify-content:space-between;font-size:10px;color:#94a08f;gap:15px}footer span:first-child{font-weight:700;font-size:13px}dialog{border:1px solid #d9dfd4;background:#fffefa;color:var(--ink);border-radius:16px;padding:30px;max-width:720px;width:calc(100% - 32px);max-height:90dvh;overflow:auto}dialog::backdrop{background:#21332977;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-heading .eyebrow{margin-bottom:10px;font-size:9px}.dialog-heading h2{font:28px Georgia,serif;margin:0}.close{background:none;color:#798676;font-size:25px;line-height:1;padding:4px}.upload-body{display:grid;grid-template-columns:220px 1fr;gap:30px}.source-preview{width:220px;height:220px;overflow:hidden;border:8px solid #eef0e5;border-radius:50%;background:#d5ddcc}.source-preview img,.source-preview video{width:100%;height:100%;object-fit:cover}.center{text-align:center}.two-fields{display:flex;gap:12px}.two-fields label{flex:1;min-width:0}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}#progress-label{font-size:12px;color:#688065}#settings-dialog{max-width:520px}#settings-dialog>p{font-size:13px;line-height:1.8;color:#7b8878}#device-token{font-family:monospace;font-size:11px}#token-area{padding:18px;border:1px solid #dce5d6;border-radius:10px;background:#f2f5eb;margin:20px 0}#token-area button{margin-top:14px}.confirm-actions{display:flex;justify-content:end;gap:10px}#confirm-dialog{max-width:450px}#confirm-dialog h2{font:26px Georgia}#confirm-dialog p{font-size:14px;line-height:1.7;color:#768370}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#2f493b;color:#fffdf7;padding:14px 24px;border-radius:8px;font-size:13px;z-index:10;max-width:90vw;box-shadow:0 8px 25px #0002}@media(min-width:1500px){.welcome{margin-top:90px;margin-bottom:100px}.story h1{font-size:78px}}@media(max-width:1000px){.welcome{gap:35px}.story h1{font-size:56px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{gap:24px;grid-template-columns:220px 1fr}.small-label{display:none}}@media(max-width:700px){.topbar{height:78px;padding:0 22px}.brand{font-size:24px}.welcome{display:block;margin:35px auto;padding:0 22px}.story h1{font-size:46px;letter-spacing:-2px}.story h1 br{display:none}.story h1 br:after{content:" "}.story .intro{font-size:14px;max-width:none}.little-world{display:none}.auth-card{padding:26px 22px;margin-top:28px}.eyebrow{font-size:9px;line-height:1.8}.auth-tabs{margin-bottom:25px}.page-heading{margin:30px 0 25px;align-items:start;flex-direction:column}.page-heading h1{font-size:40px}#dashboard{padding:0 22px 40px}.workspace{display:flex;flex-direction:column;gap:24px}.device-card{padding:18px;text-align:left;display:grid;grid-template-columns:60px 1fr;column-gap:15px}.online-label{grid-column:2;justify-content:start}.device-mini{grid-row:1/5;margin:0;width:60px;height:60px;border-width:5px;font-size:28px}.device-card h2{margin:7px 0;font-size:14px}.device-card code{grid-column:2}.device-card .text-button{grid-column:2;margin:5px 0;padding:4px;width:max-content}.device-card hr{grid-column:1/3;width:100%;margin:12px 0}.storage-head,.device-card .meter,.device-card>.micro{grid-column:1/3}.howto{display:none}.dropzone{padding:18px;gap:12px}.dropzone strong{font-size:18px}.dropzone small{line-height:1.7}.upload-icon{flex-shrink:0;width:32px;height:36px}.round-plus{display:none}.collection-heading>.micro{display:none}.grid{gap:12px}.media-card{padding:11px}.media-image{margin:4px 0 14px}.media-meta{font-size:9px}.media-actions button{padding:5px}.upload-body{display:flex;flex-direction:column;gap:12px}.source-preview{width:180px;height:180px;margin:auto}dialog{padding:22px}.dialog-heading h2{font-size:25px}.dialog-footer{align-items:stretch;flex-direction:column;gap:12px}.dialog-footer .primary{justify-content:center}footer{margin:0 22px;flex-wrap:wrap}footer span:last-child{display:none}}
