/* Square corners everywhere (founder, 2026-10-06: "Remove border radius from any button or panel that
   doesn't need it"; scope: tanimawoai.com, the student app, admin and the Code Lab; only true circles
   stay round). Loaded on every page by nginx (sub_filter, both hosts), after the page's own CSS.

   1. Everything is square. :where() keeps this rule at zero specificity, so the circle list below wins.
      Inline circles (style="border-radius:50%") and SVG drawings are left alone.
   2. True circles keep their shape: avatars, dots, round icon buttons, map pins, the settings switch.
      The list comes from every CSS rule whose radius makes a circle (50%, or a full radius with equal
      width and height), and was checked in a browser before/after on the website, app, admin and
      Code Lab. A new circle needs its selector here (or style="border-radius:50%").
   Student websites (their own pages and the sandboxed previews) are not affected. */
:where(body *:not(svg):not(svg *):not([style*="border-radius:50%"]):not([style*="border-radius: 50%"])) { border-radius: 0 !important; }

.qt-ic,
.ss-chrome > i,
.ss-av,
.ss-arrow,
.ss-cta-plus,
.ss-x,
.tnn-eyebrow i,
.tnn-found-ic,
.lab-askai-copy,
.as-badge,
.cn-badge,
.cn-on-n,
.ax-count,
.ax-health .ax-dot,
.ai-thinking i,
.ai-scan,
.ai-scan-ring,
.ai-scan-img,
.ai-scan-reveal,
.ai-flow-packet,
.nc-signal,
.ex-go,
.as-av,
.as-chip,
.as-np-dot,
.st-big,
.ah-st-ic,
.ak-num,
.arc-pot,
.bl-video-play,
.bl-thumb-play,
.cert-badge,
.cg-seal,
.ch-status,
.lab-build-dots i,
.lba-x,
.lab-live-dot,
.lab-check-ic,
.lab-site-theme span,
.hl-dot,
.hl-book-arrow,
.hl-book-rows code i,
.cl-dot,
.cn-dot,
.cn-av,
.cn-av img,
.cn-av-on,
.cn-tools button,
.cn-lb-x,
.cn-dots i,
.scam-avatar,
.gx-ambient i,
.gx-sound,
.hl-cele-ring,
.hv-ic,
.ht-about-photo,
.hiw-node,
.hiw-dot,
.ivx-dot,
.ivx-live,
.ivx-sn,
.ivx-tabs li span,
.iv-done-ic,
.lh-bar i,
.lh-pv-cursor,
.lh-badge-dot,
.lr-num,
.live-pulse,
.mfx-cloud,
.mfx-sonar,
.mfx-flash,
.mfx-spot,
.mfx-ripple,
.mh-live i,
.mh-close,
.mh-big,
.mh-place,
.map-live-dot,
.mw-live i,
.mw-me i,
.mw-hello-ring,
.wow-burst,
.wow-live-dot,
.wow-shock,
.wow-gpin,
.wow-replay-ring,
.lab-dots i,
.lab-cs,
.px-next-num,
#register .reg-live-dot,
.rb-handle span,
.rc-btn,
.rp-aurora span,
.rp-rec,
.sp-list svg,
.sp-done-ic,
.sp-thanks svg,
.stories-avatar,
.room-dot,
.beta-dot,
.theme-toggle,
.hero-badge-dot,
.map-dot,
.map-dot-ring,
.map-dot-burst,
.legend-dot,
.trust-icon,
.about-photo,
.preclass-success .check,
.play-btn,
.avatar-dot,
.carousel-btn,
.testimonial-submit-success .check,
.register-success .check,
.partner-work-link,
.footer-live-dot,
.social-row a,
.chat-launcher,
.chat-launcher-img,
.chat-launcher-dot,
.chat-teaser-close,
.chat-header-avatar,
.chat-attach-remove,
.chat-avatar-mini,
.chat-input button,
.chat-typing span,
.badge-medal,
.ftx-chip-dot,
.sp-claim-done .check,
.sup-dot,
.tb2-planet { border-radius: 50% !important; }

/* the on/off switch in Settings: a rounded track, its knob is a ::after circle */
.st-switch-ui { border-radius: 999px !important; }

/* panels whose own CSS forces a radius with !important */
html body .ach-toast { border-radius: 0 !important; }

/* Not a button or panel: the phone-shaped frame in the homepage "Peek inside" preview only looks like a phone
   with round corners (student-sites.js: 44px frame, 32px screen). */
.ss-device.is-phone { border-radius: 44px !important; }
.ss-device.is-phone iframe { border-radius: 32px !important; }
