/* A single responsive renderer, twenty individually art-directed digital objects. */
.face{--fg:#f7f5e9;--day:50%;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;min-width:0;overflow:hidden;container-type:inline-size;border-radius:14px;padding:7% 8%;color:var(--fg);font-variant-numeric:tabular-nums;box-shadow:0 12px 24px #0002;font-family:Arial,Helvetica,sans-serif;text-align:left}
.face *{box-sizing:border-box}.face-top,.face-footer{display:flex;justify-content:space-between;gap:6px;align-items:center;z-index:2;font-size:2.9cqw;letter-spacing:.45cqw;line-height:1.4;white-space:nowrap}.face-top small{font-size:2.1cqw;opacity:.5}.face-top{margin-bottom:auto}.face-footer{font-size:2.9cqw;letter-spacing:.2cqw;margin-top:auto;opacity:.7}.face-seconds{font-family:'Courier New',monospace;letter-spacing:0}.face-main{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;line-height:1;font-size:23cqw;font-weight:500;letter-spacing:-1.4cqw;margin:5% 0;white-space:nowrap}.digital-colon{font-size:.7em;font-weight:300;align-self:center;margin:0 .02em;line-height:.9}.face-track{height:2px;background:currentColor;opacity:.5;position:absolute;bottom:12%;left:8%;right:8%;display:none}.face-track i{display:block;height:100%;width:var(--day);background:var(--fg)}.face-edition{font-size:1.8cqw;letter-spacing:.5cqw;text-align:center;opacity:.4;position:absolute;bottom:4%;left:0;right:0}.face-decor{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}.face-decor i{position:absolute}.face .digit{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:0;flex:1;line-height:1.2}.face .digit b{font:inherit;display:block;z-index:1}.face .digit svg{width:100%;height:100%;overflow:visible}.layout-segments .face-main,.layout-matrix .face-main{height:45%;gap:6%;margin:6% 0}.layout-segments .digit,.layout-matrix .digit{height:100%;max-width:20%}.layout-segments polygon,.layout-matrix circle{fill:currentColor;opacity:.07}.layout-segments .lit,.layout-matrix .lit{opacity:1}.layout-tiles .face-main,.layout-flap .face-main,.layout-tubes .face-main{gap:3%;font-size:21cqw;letter-spacing:-1cqw}.layout-tiles .digital-colon,.layout-tubes .digital-colon{display:none}.layout-tiles .digit{padding:6% 0;border-radius:7px}.layout-flap .digit{padding:5% 0;border-radius:5px}.layout-flap .digit:after{content:'';position:absolute;inset:50% 0 auto;border-top:1px solid #0009;box-shadow:0 1px #fff2;z-index:2}.layout-flap .digit.turn b{animation:digit-flip .48s cubic-bezier(.2,.6,.3,1)}
.face-mono{--fg:#3c4938;background:#eff2e8;border:1px solid #ccd4c3;border-radius:10px}.face-mono .face-main{font-weight:300;letter-spacing:-1.5cqw}.face-mono .face-top{font-size:2.7cqw}.face-paper{--fg:#6b5034;background:linear-gradient(115deg,#f3e2c6,#e5d0ad);border:1px solid #d9be98}.face-paper .face-main{font-family:Georgia,serif;font-weight:400}.face-paper .face-top{border-bottom:1px solid #6b503433;padding-bottom:4%}.face-slate{background:#232b37;--fg:#e3e9f1;border:1px solid #475263}.face-slate .face-main{font-weight:400;letter-spacing:-1.8cqw}.face-slate .face-top{color:#90b3e1}.face-slate .face-seconds{color:#90b3e1}.face-pixel{background:#192d23;--fg:#b5d59d;border:5px solid #425543;border-radius:8px;box-shadow:inset 0 2px 9px #000b,0 10px 18px #0002}.face-pixel .face-main{gap:4%;height:46%}.face-pixel .face-top,.face-pixel .face-footer{font-family:'Courier New',monospace}.face-linen{background:#f4f1e8;--fg:#827363;border:1px solid #ded5c4;border-radius:3px}.face-linen .face-main{font-family:Georgia,serif;font-size:22cqw;justify-content:flex-start;font-weight:400}.face-linen .face-top{letter-spacing:.8cqw;font-size:2.6cqw}.face-linen .face-track{display:block;bottom:19%;height:1px;background:#82736333}.face-linen .face-footer{margin-bottom:3%}
/* Aurora: frosted light */
.face-aurora{background:linear-gradient(130deg,#69869588,#333d6dbb);border:1px solid #e3e4ff99;box-shadow:inset 0 1px 0 #fff8,0 12px 25px #132f5a55;--fg:#f5f1ff}.face-aurora .face-decor i:nth-child(1){width:120%;height:170%;left:-65%;top:0;background:linear-gradient(30deg,#0ee1ae,#71c2d8);border-radius:50%;filter:blur(25px);animation:ambient 15s ease-in-out infinite alternate}.face-aurora .face-decor i:nth-child(2){width:110%;height:140%;right:-50%;top:-90%;background:linear-gradient(#dba0f4,#9985f3);border-radius:50%;filter:blur(18px);animation:ambient 20s ease-in-out -7s infinite alternate}.face-aurora .face-main{font-weight:200;font-size:25cqw;letter-spacing:-2cqw;text-shadow:0 1px 12px #fff2}.face-aurora .face-track{display:block;bottom:17%;height:1px;background:#fff2}.face-aurora .face-footer{margin-bottom:6%}
/* Split: four individually articulated flaps */
.face-split{background:linear-gradient(145deg,#393a34,#1a1d17);border:1px solid #727562;--fg:#e8e0c8;box-shadow:inset 0 1px #fff4,0 8px 16px #0005}.face-split .digit{background:linear-gradient(#171b14,#2b3026 49%,#0a0e07 50%,#303629 53%,#232a1e);border:1px solid #10150b;box-shadow:inset 0 1px #fff2,0 3px 2px #0008}.face-split .digit:before{content:'';position:absolute;top:47%;left:0;width:3px;height:8%;background:#8e967a;box-shadow:0 1px #000}.face-split .face-main{font-family:'Arial Narrow',Arial,sans-serif;font-size:22cqw;font-weight:600}.face-split .face-top{color:#aeb39b}.face-split .face-decor{border:5px double #ffffff0a;border-radius:inherit}.face-split .face-decor:before,.face-split .face-decor:after{content:'⊕';position:absolute;top:1%;font-size:3cqw;color:#777f68}.face-split .face-decor:before{left:2%}.face-split .face-decor:after{right:2%}
/* Prism: refractive digit chambers */
.face-prism{background:linear-gradient(135deg,#c5d6f044,#a691cb66);--fg:#fff;border:1px solid #e9f3ff99;box-shadow:inset 0 1px #fff9,0 20px 30px #30215d44}.face-prism .digit{background:linear-gradient(135deg,#ffffff88,#ffffff08 45%,#a4e1ff22);border:1px solid #ffffff88;box-shadow:inset 3px 2px 0 #fff4,inset -3px -3px 0 #141e5d22,0 6px 5px #2d245d33;text-shadow:0 2px 6px #52549b44;font-weight:300}.face-prism .digit:nth-of-type(2){background:linear-gradient(145deg,#ffd3c755,#cfb4f022)}.face-prism .digit:nth-of-type(4){background:linear-gradient(145deg,#c2eadb77,#b0bcf222)}.face-prism .face-decor{background:conic-gradient(from 110deg at 20% 10%,#8fdcca,#b49ee9,#dfb5df,#86d1d5,#8fdcca);filter:blur(22px);transform:scale(1.4)}
/* Obsidian: architectural black */
.face-obsidian{background:linear-gradient(145deg,#2d2c2d,#111112 55%);border:1px solid #5e5c5b;box-shadow:inset 0 2px 0 #fff1,inset 0 -4px 0 #0008,0 15px 25px #0004;--fg:#e9e5de;border-radius:5px}.face-obsidian .face-main{font-weight:900;font-stretch:condensed;font-size:24cqw;letter-spacing:-2cqw;transform:scaleY(1.15);text-shadow:0 2px 0 #000}.face-obsidian .face-top{color:#e4a174;letter-spacing:.8cqw}.face-obsidian .face-track{display:block;background:#ffffff12;bottom:17%;height:2px}.face-obsidian .face-track i{background:#e97b45}.face-obsidian .face-footer{margin-bottom:4%}
/* Chrome: raised polished metal */
.face-chrome{background:repeating-linear-gradient(0deg,#acb4bd 0px,#cbd1d8 1px,#bec6ce 2px,#d4d9de 3px);--fg:#34404c;border:1px solid #f3f6fa;box-shadow:inset 0 3px #fff9,inset 0 -3px #65718088,0 12px 20px #1d28344d;border-radius:10px}.face-chrome .digit{background:linear-gradient(#d6dde4,#8896a3 49%,#e9edf0 51%,#b9c2cb);border:1px solid #fafbfc;box-shadow:0 3px 1px #677581,inset 0 1px #fff;transform:translateY(-3px)}.face-chrome .digit b{background:linear-gradient(#253441 15%,#ebf1f5 40%,#3a4c59 48%,#7d91a2 70%,#182a37);color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 1px 0 #fff9);font-weight:700}.face-chrome .face-top,.face-chrome .face-footer{font-family:'Courier New',monospace;font-weight:600}
/* Ember: glowing digital tubes */
.face-ember{background:linear-gradient(#201b17 65%,#7e4826 66%,#382314 87%,#211912);border:1px solid #8a5c3c;border-bottom:4px solid #302117;--fg:#ffc080;border-radius:9px}.face-ember .face-main{margin:1% 0 7%;font-family:Georgia,serif;letter-spacing:-1cqw;font-size:23cqw}.face-ember .digit{padding:12% 0 8%;border:1px solid #dfb08277;border-radius:42% 42% 8% 8%;background:linear-gradient(90deg,#e8d8ab11,#f9d7b233 12%,#24160f77 25%,#f2bb7211 70%,#fff1 80%,#130e0a);box-shadow:inset 0 2px 4px #fff2,0 3px 1px #16100b}.face-ember .digit b{text-shadow:0 0 2px #fff4bc,0 0 8px #ff7d29,0 0 20px #f74d0d;color:#ffb86c;font-weight:400}.face-ember .digit:after{content:'';position:absolute;inset:18% 10% 8%;border:1px solid #f1ba7422;border-radius:30% 30% 0 0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 4px,#ffb25c0b 5px);pointer-events:none}.face-ember .face-top{font-size:2.2cqw;color:#c1926d}.face-ember .face-footer{color:#e3bd90}
/* Horizon: a layered miniature landscape */
.face-horizon{background:linear-gradient(#9d7298,#d39b94 43%,#e7b896 70%);border:1px solid #e9bbb5;--fg:#fff1db;border-radius:18px;box-shadow:inset 0 1px #fff6,0 15px 25px #5c34433d}.face-horizon .face-decor i:nth-child(1){width:70px;height:70px;right:10%;top:18%;border-radius:50%;background:#ffe6ba;box-shadow:0 0 55px #ffc59188;animation:sunset 16s ease-in-out infinite alternate}.face-horizon .face-decor i:nth-child(2){width:150%;height:70%;left:-20%;bottom:-30%;background:linear-gradient(20deg,#414256,#89718b);border-radius:45% 60% 0 0;transform:rotate(-12deg)}.face-horizon .face-decor i:nth-child(3){width:140%;height:50%;left:-10%;bottom:-25%;background:#343a4d;border-radius:60% 30% 0 0;transform:rotate(8deg)}.face-horizon .face-main{font-family:Georgia,serif;font-size:24cqw;font-weight:400;text-shadow:0 2px 9px #5a315533}.face-horizon .face-footer{opacity:.9}.face-horizon .face-top{color:#fff0e0}
/* Metro: a vertical digital departure panel */
.face-metro{background:#191c20;--fg:#f3efe2;border:1px solid #3f454b;border-radius:5px;padding-left:13%}.face-metro:before{content:'';position:absolute;inset:0 auto 0 0;width:7%;background:#d7e24d}.face-metro .face-main{display:grid;grid-template-columns:1fr;justify-items:center;margin:0;line-height:.87;font-weight:900;font-size:28cqw;letter-spacing:-2cqw;flex:1}.face-metro .stack-hour{color:#d7e24d}.face-metro .stack-minute{border-top:1px solid #ffffff22;padding-top:3%;width:100%;text-align:center}.face-metro .face-top{position:absolute;left:15%;top:8%;font-size:2cqw;writing-mode:vertical-rl;letter-spacing:.3cqw}.face-metro .face-top>span:last-child{display:none}.face-metro .face-footer{font-size:2.5cqw}.face-metro .face-edition{display:none}
/* Cassette: moulded enclosure and olive LCD */
.face-cassette{background:linear-gradient(145deg,#e3dcc8,#bdb69f);border:1px solid #ede8d9;border-bottom:4px solid #9b9581;--fg:#3e4d31;border-radius:13px;padding:7%}.face-cassette .face-main{background:#b1bc8c;padding:5% 6%;height:55%;margin:4% 0;border:5px solid #343f31;border-radius:7px;box-shadow:inset 0 3px 5px #313e3c77,0 1px #fff9;gap:5%}.face-cassette .face-top{color:#535b4d;font-size:2.3cqw;font-weight:700}.face-cassette .face-footer{font-family:'Courier New',monospace;font-size:2.5cqw;opacity:1}.face-cassette .face-seconds{background:#cf673b;color:#fff1d4;border-radius:3px;padding:2% 4%;box-shadow:0 2px #9c4526}.face-cassette .face-edition{display:none}
/* Blueprint: precise, luminous drafting */
.face-blueprint{background-color:#12344d;background-image:linear-gradient(#9fd5e00d 1px,transparent 1px),linear-gradient(90deg,#9fd5e00d 1px,transparent 1px);background-size:12px 12px;--fg:#acd7df;border:1px solid #83bac799;border-radius:4px}.face-blueprint:after{content:'';position:absolute;inset:6%;border:1px solid #acd7df44;pointer-events:none}.face-blueprint .face-top{font-family:'Courier New',monospace;letter-spacing:.2cqw;font-size:2.6cqw}.face-blueprint .face-main{padding:5% 2%;border-top:1px dashed #acd7df55;border-bottom:1px dashed #acd7df55;height:50%}.face-blueprint .face-main svg{filter:drop-shadow(0 0 3px #82e2ff66)}.face-blueprint .face-footer{font-family:'Courier New',monospace}
/* Neon: a precise line of electric light */
.face-neon{background:radial-gradient(ellipse at 50% 70%,#38205c,#111324 70%);border:1px solid #748af499;--fg:#9cecf1;box-shadow:inset 0 0 12px #7f50fc33,0 0 0 2px #192540,0 9px 30px #25135455}.face-neon .face-main{font-weight:300;letter-spacing:-1.8cqw;font-size:26cqw;text-shadow:0 0 2px #fff,0 0 12px #4ecce788,0 0 35px #a345f966}.face-neon .face-decor{background:linear-gradient(transparent 65%,#9847e91a),repeating-linear-gradient(0deg,transparent 0px,transparent 19px,#9672d52a 20px);transform:perspective(150px) rotateX(45deg) scale(1.4);transform-origin:bottom}.face-neon .face-decor i:first-child{width:1px;height:100%;background:#e0c5ff88;box-shadow:0 0 15px 4px #9871eb66;animation:scan 12s ease-in-out infinite;opacity:.3}.face-neon .face-top{color:#d9baf1}
/* Mosaic: deliberately asymmetric blocks */
.face-mosaic{background:#f3e8d5;--fg:#3c4054;border:1px solid #e1d5bf;border-radius:11px}.face-mosaic .face-main{gap:2%;font-size:22cqw}.face-mosaic .digit{border-radius:2px;padding:12% 0 4%;background:#e59278;box-shadow:0 3px 0 #d07c60}.face-mosaic .digit:nth-of-type(2){background:#45629b;color:#f5edd9;transform:translateY(7px);box-shadow:0 3px #2c477c;border-radius:30% 30% 2px 2px}.face-mosaic .digit:nth-of-type(4){background:#dcc775;transform:translateY(-5px);box-shadow:0 3px #c9ac53;border-radius:2px 2px 30% 2px}.face-mosaic .digit:nth-of-type(5){background:#819a83;color:#f4eddb;box-shadow:0 3px #607d62}.face-mosaic .face-top{font-weight:600;letter-spacing:.7cqw}
/* Velvet: an editorial piece */
.face-velvet{background:repeating-linear-gradient(90deg,#4a2030,#4a2030 1px,#4e2232 2px);--fg:#eddcc0;border:1px solid #aa826177;border-radius:2px}.face-velvet:after{content:'';position:absolute;inset:5%;border:1px solid #c3a47b44;pointer-events:none}.face-velvet .face-main{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:25cqw;letter-spacing:-1.5cqw}.face-velvet .face-top{justify-content:center;font-size:2.5cqw;letter-spacing:1cqw}.face-velvet .face-top>span:last-child{position:absolute;right:10%;bottom:28%;font-size:2cqw}.face-velvet .face-footer{font-family:Georgia,serif;letter-spacing:.3cqw;justify-content:center}.face-velvet .face-seconds{position:absolute;right:8%;top:8%;font-size:2cqw}.face-velvet .face-edition{color:#d7b78d}
/* Float: lifted slabs */
.face-isometric{background:radial-gradient(ellipse at top right,#6465a0,#28294c);--fg:#e4e4f9;border:1px solid #7775a488;border-radius:15px;overflow:hidden}.face-isometric .face-main{transform:rotate(-7deg) skewY(3deg);gap:5%;font-size:20cqw;margin:9% 0}.face-isometric .digit{background:#ddc7dc;color:#77617d;transform:skewY(-3deg);padding:9% 0;border-radius:7px;box-shadow:1px 1px #b3a0b7,2px 2px #b3a0b7,3px 3px #b3a0b7,4px 4px #95829a,5px 5px #95829a,9px 13px 8px #0e122b88}.face-isometric .digit:nth-of-type(2){background:#cee1dd;color:#5d8582;box-shadow:1px 1px #94b6ad,2px 2px #94b6ad,3px 3px #94b6ad,4px 4px #6e978c,5px 5px #6e978c,9px 13px 8px #0e122b88}.face-isometric .digit:nth-of-type(4){background:#e7d6b8;color:#a08965}.face-isometric .digit:nth-of-type(5){background:#c3cee6;color:#6d7d9e}.face-isometric .face-top{font-size:2.5cqw;letter-spacing:.8cqw}
/* Tide: moving layers of aqua */
.face-tide{background:linear-gradient(155deg,#294c60,#168d9b);--fg:#def4ee;border:1px solid #9bddd977;border-radius:20px;box-shadow:inset 0 1px #ffffff77,0 10px 20px #17374e44}.face-tide .face-decor i{width:160%;height:130%;left:-35%;top:42%;border-radius:42%;border:1px solid #c3fff53b;background:#66dbca22;animation:wave 19s linear infinite}.face-tide .face-decor i:nth-child(2){top:50%;left:-10%;background:#8ee2b71f;animation-duration:25s;animation-direction:reverse}.face-tide .face-decor i:nth-child(3){top:68%;background:#073c5d33;animation-duration:34s}.face-tide .face-main{font-size:25cqw;font-weight:200;letter-spacing:-2cqw;text-shadow:0 2px 15px #073e4d33}.face-tide .face-track{display:block;bottom:19%;height:1px;background:#ddfff222}.face-tide .face-footer{margin-bottom:6%}
@keyframes digit-flip{0%{transform:perspective(200px) rotateX(-80deg);filter:brightness(.4)}100%{transform:perspective(200px) rotateX(0);filter:brightness(1)}}@keyframes ambient{from{transform:translate(-5%,-10%) rotate(-10deg)}to{transform:translate(20%,25%) rotate(25deg)}}@keyframes wave{to{transform:rotate(360deg)}}@keyframes scan{0%,100%{left:0}50%{left:100%}}@keyframes sunset{from{transform:translateY(0);opacity:.8}to{transform:translateY(12px);opacity:1}}
@media(prefers-reduced-motion:reduce){.face *,.face *:before,.face *:after{animation:none!important;transition:none!important}}
