:root{--charcoal:#1c1b19;--brown:#6d492c;--brown-dark:#4f3420;--gold:#ddbb82;--white:#fff;--mist:#f2f1ee;--line:#eceae5;--line-strong:#d9d7d2;--slate:#6b6964;--green:#2e7d4f;--red:#b4423b;--radius:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-base:.22s}*{box-sizing:border-box}html,body{background:var(--white);color:var(--charcoal);margin:0;padding:0;font-family:Inter,-apple-system,Segoe UI,Roboto,system-ui,sans-serif;font-size:16px;line-height:1.5}a{color:var(--brown)}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:700}h1{font-size:32px}h2{font-size:22px}h3{font-size:17px;font-weight:600}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border-radius:var(--radius);border:1.5px solid var(--line-strong);background:var(--white);width:100%;padding:11px 14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--charcoal)}label{font-size:13px;font-weight:500}.field{flex-direction:column;gap:6px;display:flex}.hint{color:var(--slate);font-size:12px}.btn{cursor:pointer;min-height:44px;transition:transform var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-secondary:hover,.btn-danger:hover{background:var(--mist)}.btn-dark:hover{background:#2b2a27}.btn[aria-busy=true]{cursor:progress}:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}.btn-primary{background:var(--brown);color:var(--white)}.btn-primary:hover{background:var(--brown-dark)}.btn-secondary{background:var(--white);color:var(--charcoal);border-color:var(--line-strong)}.btn-dark{background:var(--charcoal);color:var(--white)}.btn-danger{background:var(--white);color:var(--red);border-color:var(--line-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{border:1.5px solid var(--line);background:var(--white);border-radius:16px;flex-direction:column;gap:14px;padding:24px;display:flex}.muted{color:var(--slate)}.tag{background:var(--mist);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.dot{border-radius:999px;width:8px;height:8px;display:inline-block}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.container{max-width:1120px;margin:0 auto;padding:0 24px}.error{color:var(--red);font-size:13px;display:inline-block}.success{color:var(--green);font-size:13px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--slate);background:var(--mist);padding:10px 12px;font-size:12px;font-weight:600}td{border-top:1px solid var(--line);vertical-align:top;padding:12px}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.sidenav{border-right:1px solid var(--line);flex-direction:column;flex:0 0 220px;gap:4px;padding:24px 16px;display:flex}.sidenav a{color:var(--charcoal);min-height:44px;transition:background-color var(--t-fast) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.sidenav a:hover{background:var(--mist)}.sidenav a svg{color:var(--slate);flex:none}.sidenav a.active svg{color:var(--brown)}.nav-brand{padding:0 8px 20px}.nav-foot{margin-top:auto;padding:8px}.only-mobile{display:none}.sidenav a.active{background:var(--mist);font-weight:600}.main{flex-direction:column;flex:999 560px;gap:20px;min-width:0;padding:24px 32px;display:flex}.brand{color:var(--charcoal);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-by{color:var(--slate,#6b6964);white-space:nowrap;font-size:.74em;font-weight:400}.brand-mark{background:var(--charcoal);border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.tap{flex-direction:column;gap:20px;max-width:420px;min-height:100vh;margin:0 auto;padding:48px 24px 32px;display:flex}.tap-link{background:var(--mist);color:var(--charcoal);border-radius:14px;align-items:center;gap:14px;min-height:52px;padding:14px 16px;font-weight:500;text-decoration:none;display:flex}.stars{justify-content:center;gap:8px;display:flex}.star{cursor:pointer;min-width:52px;min-height:52px;transition:transform var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;padding:4px}.star:active{transform:scale(.9)}.star:disabled{opacity:.45;cursor:progress}.star-chosen:disabled{opacity:1;animation:pop .32s var(--spring) both}.avatar{background:var(--charcoal);width:88px;height:88px;color:var(--gold);border-radius:999px;justify-content:center;align-items:center;margin:0 auto;font-size:30px;font-weight:700;display:flex}.powered{text-align:center;color:var(--slate);margin-top:auto;font-size:12px}.tapx{background:var(--white);flex-direction:column;max-width:420px;min-height:100vh;margin:0 auto;display:flex}.tapx-body{flex-direction:column;flex:1;gap:14px;padding:0 20px 24px;display:flex}.tap-cover{flex:none;height:128px;position:relative;overflow:hidden}.tap-cover-label{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;position:absolute;top:18px;left:20px}.tap-head{flex-direction:column;gap:6px;margin-top:-52px;display:flex;position:relative}.tap-photo{background:var(--brown);width:104px;height:104px;color:var(--white);border:4px solid var(--white);border-radius:999px;justify-content:center;align-items:center;margin-bottom:2px;font-size:34px;font-weight:700;display:flex}.tap-logo{background:var(--charcoal);color:var(--gold);border-radius:22px}.action-row{gap:8px;display:flex}.action{background:var(--mist);height:44px;color:var(--charcoal);border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.action-primary{background:var(--brown);color:var(--white);flex:1}.action-primary:hover{background:var(--brown-dark)}.action-icon{flex:none;width:44px}.intro{flex-direction:column;gap:8px;font-size:14px;display:flex}.intro-line{align-items:center;gap:10px;display:flex}.social-row{flex-wrap:wrap;justify-content:center;gap:12px;padding:4px 0;display:flex}.social{background:var(--charcoal);border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.pill{background:var(--white);border:1.5px solid var(--charcoal);min-height:52px;color:var(--charcoal);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:8px 56px;font-size:15px;font-weight:600;text-decoration:none;display:flex;position:relative}.pill:hover{background:var(--mist)}.pill,.action,.social,.tap-link{transition:transform var(--t-fast) var(--ease-out), background-color var(--t-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.pill:active,.action:active,.tap-link:active{transform:scale(.98)}.social:active{transform:scale(.92)}.pill-icon{background:var(--mist);border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.pill-featured{background:var(--charcoal);color:var(--white)}.pill-featured:hover{background:#2b2a27}.pill-featured .pill-icon{background:var(--gold)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:none}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes shimmer{0%{opacity:.55}to{opacity:1}}.tapx-body>*,.tap>*{animation:rise .28s var(--ease-out) both}.tapx-body>:first-child,.tap>:first-child{animation-delay:0s}.tapx-body>:nth-child(2),.tap>:nth-child(2){animation-delay:40ms}.tapx-body>:nth-child(3),.tap>:nth-child(3){animation-delay:80ms}.tapx-body>:nth-child(4),.tap>:nth-child(4){animation-delay:.12s}.tapx-body>:nth-child(n+5),.tap>:nth-child(n+5){animation-delay:.16s}.tap-photo{animation:pop .36s var(--spring) both}.error{animation:shake .28s var(--ease-out) 1}.success,details[open]>:not(summary){animation:rise var(--t-base) var(--ease-out) both}.skel{background:var(--mist);border-radius:14px;animation:.7s ease-in-out infinite alternate shimmer}.savebar{z-index:5;border:1.5px solid var(--line-strong);background:#fffffff0;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px #1c1b191a}.savebar .state{min-width:0;color:var(--slate);flex:140px;font-size:13px}.savebar .state.ok{color:var(--green);font-weight:600}.savebar .state.bad{color:var(--red);font-weight:600}.linkrow{background:var(--mist);animation:rise var(--t-base) var(--ease-out) both;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.iconbtn{border-radius:12px;width:44px;min-height:44px;padding:0}.chip{min-height:44px;padding:8px 14px;font-weight:500}.preview-col{flex-direction:column;flex:0 0 300px;align-items:center;gap:8px;display:flex;position:sticky;top:16px}input,select,textarea{min-height:44px;transition:border-color var(--t-fast) var(--ease-out)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--brown)}@media (max-width:760px){.shell{padding-bottom:calc(72px + env(safe-area-inset-bottom));display:block}.main{padding:16px}.sidenav{z-index:20;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--line);background:var(--white);flex-direction:row;justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.sidenav a{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;min-height:52px;padding:6px 2px;font-size:11px}.sidenav a.active{color:var(--brown);background:0 0}.nav-brand,.nav-foot,.nav-extra{display:none!important}.only-mobile{display:flex}.preview-col{flex:100%;position:static}.savebar{bottom:calc(80px + env(safe-area-inset-bottom))}.savebar .btn-primary{flex:auto}h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.modal-backdrop{z-index:50;animation:fade var(--t-base) var(--ease-out) both;background:#1c1b198c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--white);width:100%;max-width:460px;animation:modal-in .26s var(--spring) both;border-radius:20px;flex-direction:column;gap:14px;margin:auto;padding:28px;display:flex;box-shadow:0 30px 80px #1c1b1959}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}.check{border:1.5px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;min-height:44px;padding:12px;font-size:14px;font-weight:500;line-height:1.45;display:flex}.check input{flex:none;margin:1px 0 0}.check:has(input:checked){border-color:var(--brown);background:var(--mist)}@media (max-width:760px){.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:none;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;margin:auto 0 0;animation-name:sheet-in}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}
