0b3286af4c
- theme.css: .mf-iconbtn und .mf-theme auf 42x42 / Radius 10px (Ellipse weg), Glyphen 20x20; .mf-theme behaelt Akzentfarbe+Glow. .mf-search min-height 42px. - accessibility-placement.css: .mf-a11y-trigger 42x42, svg 20x20, gefuellter Gradient -> Outline (Surface-Fill, Akzent ueber color/border-color). - accessibility.css: Legacy-56px-Kreis-Trigger durch sauberen .mf-iconbtn-Look ersetzt (Fokus-Outline erhalten). - fluxtimer.css: !important am .ft-trigger-icon entfernt, 20x20 / stroke 1.5. - STYLEGUIDE.md: Icon-Button-Spezifikation ergaenzt; Light-Tokens (AP1) und neues --warn nachgezogen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WFxcjtc9HNP4VECT6Ur1tE
51 lines
5.8 KiB
CSS
51 lines
5.8 KiB
CSS
/* FluxTimer – Zeitschaltkreis-Optik, rein clientseitig. */
|
||
.ft-trigger { position:relative; color:var(--fluxtimer-secondary); }
|
||
.ft-trigger-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
|
||
.ft-trigger-bolt { fill:color-mix(in srgb,currentColor 24%,transparent); stroke-width:1.5; stroke-linejoin:round; }
|
||
.ft-trigger-dot { position:absolute; right:4px; top:4px; width:6px; height:6px; border-radius:50%; background:var(--muted); border:1px solid var(--surface); opacity:.5; }
|
||
.ft-trigger.ft-active { color:var(--fluxtimer-primary); border-color:color-mix(in srgb,var(--fluxtimer-primary) 65%,var(--border)); box-shadow:0 0 14px color-mix(in srgb,var(--fluxtimer-primary) 35%,transparent); }
|
||
.ft-trigger.ft-active .ft-trigger-dot { background:var(--fluxtimer-primary); box-shadow:0 0 8px var(--fluxtimer-primary); opacity:1; }
|
||
.ft-popover { position:fixed; z-index:1600; width:min(340px,calc(100vw - 24px)); padding:1rem; border:1px solid color-mix(in srgb,var(--fluxtimer-secondary) 55%,var(--border)); border-radius:16px; background:var(--panel); box-shadow:0 18px 55px rgba(0,0,0,.38),0 0 24px color-mix(in srgb,var(--fluxtimer-secondary) 22%,transparent); display:none; }
|
||
.ft-popover.open { display:block; animation:ft-in .18s ease-out; }
|
||
.ft-popover-head,.ft-popover-actions,.ft-settings-head,.ft-settings-actions,.ft-options { display:flex; align-items:center; gap:.7rem; }
|
||
.ft-popover-head { justify-content:space-between; margin-bottom:.75rem; }
|
||
.ft-popover-head b { color:var(--heading); letter-spacing:.08em; }
|
||
.ft-close { border:0; background:none; color:var(--muted); cursor:pointer; font-size:1.25rem; }
|
||
.ft-circuit { display:grid; gap:.55rem; padding:.8rem; border-radius:12px; background:var(--fluxtimer-display); border:1px solid color-mix(in srgb,var(--fluxtimer-primary) 45%,var(--border)); box-shadow:inset 0 0 22px rgba(0,0,0,.28); }
|
||
.ft-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.7rem; }
|
||
.ft-row span { font-size:.65rem; letter-spacing:.12em; color:var(--muted); }
|
||
.ft-row strong,.ft-preview strong { color:var(--fluxtimer-segment); font-family:"Courier New",monospace; font-variant-numeric:tabular-nums; letter-spacing:.08em; text-shadow:0 0 9px color-mix(in srgb,var(--fluxtimer-segment) 58%,transparent); }
|
||
.ft-row.primary strong { font-size:1.3rem; }
|
||
.ft-popover-status { color:var(--muted); font-size:.8rem; margin:.7rem 0; }
|
||
.ft-popover-actions { justify-content:space-between; flex-wrap:wrap; }
|
||
.ft-mini-toggle { border:1px solid var(--border-accent); background:var(--surface-2); color:var(--text); border-radius:9px; padding:.45rem .7rem; cursor:pointer; font-weight:700; }
|
||
.ft-settings-head { justify-content:space-between; align-items:flex-start; margin-bottom:1rem; }
|
||
.ft-settings-head p { color:var(--muted); font-size:.88rem; margin-top:.25rem; }
|
||
.ft-settings-grid { display:grid; grid-template-columns:1fr 220px; gap:1rem; align-items:stretch; }
|
||
.ft-preview { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:.8rem; border-radius:12px; background:var(--fluxtimer-display); border:1px solid color-mix(in srgb,var(--fluxtimer-primary) 42%,var(--border)); }
|
||
.ft-preview span { color:var(--muted); font-size:.65rem; letter-spacing:.13em; }
|
||
.ft-preview strong { font-size:1.55rem; margin-top:.25rem; }
|
||
.ft-switch { display:inline-flex; align-items:center; gap:.5rem; cursor:pointer; color:var(--text); }
|
||
.ft-switch input { position:absolute; opacity:0; }
|
||
.ft-switch span { width:44px; height:24px; border-radius:99px; background:var(--surface-2); border:1px solid var(--border); position:relative; transition:.2s; }
|
||
.ft-switch span::after { content:""; position:absolute; width:18px; height:18px; left:2px; top:2px; border-radius:50%; background:var(--muted); transition:.2s; }
|
||
.ft-switch input:checked + span { background:color-mix(in srgb,var(--fluxtimer-secondary) 34%,var(--surface)); border-color:var(--fluxtimer-secondary); }
|
||
.ft-switch input:checked + span::after { transform:translateX(20px); background:var(--fluxtimer-secondary); box-shadow:0 0 8px var(--fluxtimer-secondary); }
|
||
.ft-reminders { display:flex; flex-wrap:wrap; gap:.2rem 1rem; border:0; margin:.3rem 0 .8rem; }
|
||
.ft-reminders legend { width:100%; margin-bottom:.25rem; }
|
||
.ft-options { flex-wrap:wrap; margin:.25rem 0 .8rem; }
|
||
.ft-settings-actions { justify-content:space-between; flex-wrap:wrap; }
|
||
.ft-overlay { position:fixed; inset:0; z-index:1900; display:none; place-items:center; padding:1rem; background:rgba(5,3,2,.76); backdrop-filter:blur(7px); }
|
||
.ft-overlay.open { display:grid; }
|
||
.ft-overlay::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.7) 49%,transparent 55%); transform:translateX(-120%); }
|
||
.ft-overlay.open::before { animation:ft-flash .7s ease-out; }
|
||
.ft-modal { position:relative; width:min(560px,100%); text-align:center; padding:1.5rem; border-radius:20px; background:var(--panel); border:1px solid var(--fluxtimer-secondary); box-shadow:0 0 50px color-mix(in srgb,var(--fluxtimer-secondary) 35%,transparent); }
|
||
.ft-modal .ft-kicker { color:var(--fluxtimer-secondary); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:800; }
|
||
.ft-modal h2 { color:var(--heading); font-size:1.7rem; margin:.7rem 0 .4rem; }
|
||
.ft-modal p { color:var(--muted); line-height:1.55; }
|
||
.ft-modal-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem; }
|
||
@keyframes ft-in { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:none} }
|
||
@keyframes ft-flash { to{transform:translateX(120%)} }
|
||
@media (max-width:620px){ .ft-settings-grid{grid-template-columns:1fr}.ft-settings-head{align-items:stretch;flex-direction:column}.ft-popover{left:12px!important;right:12px!important;top:64px!important;width:auto} }
|
||
@media (prefers-reduced-motion:reduce){ .ft-popover.open,.ft-overlay.open::before{animation:none} }
|