/*
Theme Name: Fischerman NG
Theme URI: https://www.fischerman.ch/
Description: Dunkles, zweispaltiges Theme mit integriertem Handy-Layout - kein Zusatz-Plugin noetig. Das Handy-Layout haengt vollstaendig in Media Queries unterhalb 980 Pixeln; am Desktop nur wenige benannte Eingriffe, alle als Ueberschreibungen am Ende des Stylesheets.
Version: 1.2.15
Requires at least: 6.0
Requires PHP: 7.4
Author: Fischerman
Author URI: https://www.fischerman.ch/
Text Domain: fischerman-ng
Tags: dark, black, responsive-layout, two-columns, right-sidebar, accessibility-ready
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Aufbauend auf einem Entwurf von zwwooooo.

WARUM DER DESKTOP-TEIL UNANGETASTET BLEIBT
------------------------------------------
Dieses Design besteht aus ineinandergreifenden Haarlinien, die auf exakte
Pixelbreiten abgestimmt sind: 980 aussen, 900 im Kopf, 899 im Rumpf, 638 im
Titel, 610 plus 260 innen. Verschiebt sich eine davon, stimmen die Anschluesse
nicht mehr - und genau das faellt sofort ins Auge.

Ein erster Versuch, das Ganze auf fliessende Breiten umzustellen, ist daran
gescheitert. Zusaetzlich brachte ein global gesetztes box-sizing:border-box
den Aussenrahmen um 80 Pixel durcheinander, weil der Innenabstand dann von
der Breite abgezogen statt aufgeschlagen wird.

Deshalb bleibt der Block oben, bis "PAGINATION" und weiter, unangetastet -
Zeile fuer Zeile so, wie er war. Alles Neue steht am Ende der Datei: das
Handy-Layout in Media Queries, die wenigen bewussten Eingriffe am Desktop als
Ueberschreibungen. Wer den angehaengten Teil loescht, hat wieder exakt das
alte Theme.

BEWUSSTE EINGRIFFE AM DESKTOP (Stand 1.2.15)
-------------------------------------------
- Widget-Ueberschriften und Untertitel in VT323
- Aktiver Menuepunkt: Hover funktioniert wieder, Untermenues faerben nicht mit
- RSS-Punkt im Menue nur unterhalb 760 Pixeln
- Trenner zwischen den Widgets in der Seitenleiste
- Artikelrahmen buendig zur Senkrechten im Kopfbereich und zur Spalte:
  links, rechts und ueber dem ersten Artikel kein grauer Streifen mehr
- Graue Spalte endet am letzten Artikel, Blaetternavigation auf Schwarz
- Grauer 1px-Rahmen von #content auf Schwarz (Breite bleibt)
- Grauer Hintergrund von #content ganz weg: jeder Artikel ein eigener Kasten
- Abstand zwischen letztem Artikel und Fussbereich von rund 63 auf 41 Pixel

AUF DEM HANDY ZUSAETZLICH
-------------------------
- Website-Titel groesser, Artikeltitel kleiner (Rangfolge der Titel)
- Alle Widgets ausgeblendet ausser LLM Radar (Erlaubnisliste)
- RSS-Zierecke ausgeblendet - sie ragte 139 Pixel hinaus und war die
  Ursache des seitlichen Schwankens
- overflow-x:clip bleibt als Sicherheitsnetz
*/

*{margin:0;padding:0;}
a{text-decoration:none;color:#777;}
a:hover{text-decoration:none;color:#00ff00;}
a img{border:0;}
body{background:#000000;color:#bbb;font-family:Arial,"Segoe UI",Verdana,sans-serif;font-size:12px;}
p,h1,h2,h3,h4,h5,h6{margin-bottom:18px;}
h1,h2,h3,h4,h5,h6{font-weight:bold;}
h1{	font-size:24px;}
h2{font-size:18px;}
h3{font-size:14px;}
h4,h5,h6{font-size:12px;}
h1,h1 a,h1 a:hover,h2,h2 a,h2 a:hover,h3,h3 a,h3 a:hover,h4,h4 a,h4 a:hover,h5,h5 a,h5 a:hover,h6,h6 a,h6 a:hover{text-decoration:none;}

/* container */
#container{width:980px;margin:0 auto;padding:0 40px;}

/* Header */
#header{width:900px;height:;margin:0 auto;clear:both;}
#header-title{margin:0;padding:0;width:638px;border-left:1px solid #00FF00;border-bottom:1px solid #00FF00;}
#header-title p{margin-bottom:0;}
#header-title h1{font-family:Arial;margin:0;padding:20px 0 5px 10px;width:600px;font-weight:normal;font-size:28px;color:#00ff00;}
#header-title h1 a{text-shadow:1px 3px 5px #444;color:#ddd;display:inline;border-bottom:1px solid #00ff00;}
#header-title h1 a:hover{text-decoration:none;color:#fff;}
#header-title h2{margin:0;padding:0 0 15px 35px;color:#777;font-weight:normal;font-size:12px;letter-spacing:.2em;}
#header-rss{position:absolute;left:50%;top:34px;margin-left:319px;}
#header-rss a{padding-left:25px;width:120px;line-height:18px;display:block;color:#00ff00;}
#header-rss a:hover{color:#ddd;}
#header-rss-logo1{overflow:hidden;border-top:1px solid #ff4e00;border-right:1px solid #ff4e00;position:absolute;left:50%;top:35px;margin-left:320px;width:15px;height:15px;}
#header-rss-logo2{overflow:hidden;border-top:1px solid #ff4e00;border-right:1px solid #ff4e00;position:absolute;left:50%;top:40px;margin-left:320px;width:10px;height:10px;}
#header-rss-logo3{overflow:hidden;border-top:5px solid #00ff00;position:absolute;left:50%;top:45px;margin-left:320px;width:5px;height:0;}
#header-menus{background:#111;position:relative;margin:0 auto;padding:0;width:899px;}
#header-menus-page{float:left;width:600px;padding:15px 5px 10px;line-height:20px;}
#header-menus-page a{display:block;overflow:hidden;font-size:12px;text-decoration:none;text-align:center;color:#777;padding:0 5px;border:1px solid #222;background:#181818;}
#header-menus-page a:hover{text-decoration:none;color:#00ff00;background:#222;}
#header-menus-page li{position:relative;list-style:none;float:left;margin-right:10px;width:auto;}
#header-menus-page ul ul{visibility:hidden;position:absolute;left:0;top:20px;width:150px;}
#header-menus-page ul li:hover ul,#header-menus-page ul li a:hover ul{visibility:visible;}
#header-menus-page ul ul li{clear:both;text-align:left;z-index:1;}
#header-menus-page li.current_page_item a{color:#fff;}

#search{border-left:1px solid #00FF00;border-bottom:1px solid #00FF00;float:right;margin:0;padding:14px;text-align:right;}
#searchform{background:#222;text-align:left;width:230px;border:1px solid #00FF00;margin:0;}
#header-menus input#s{background:transparent;border:none;color:#999;padding:3px 8px;font-size:12px;width:198px;}
#header-menus input#searchsubmit{border:1px solid #e5e5e5;border-top:1px solid #fafafa;border-left:1px solid #fafafa;background:#f2f2f2;padding:4px 5px;font-size:12px;}

/* wrapper */
#wrapper{clear:both;overflow:hidden;width:899px;height:1%;margin:0 auto;padding:0 0 20px 40px;margin-right:40px;border-right:1px solid #00FF00;}

/* content */
#content{width:610px;float:left;background:#181818;border:1px solid #222;/*border-top:2px solid #00ff00;border-left:1px solid #222;border-right:1px solid #222;border-bottom:1px solid #222;*/}
.post{position:relative;height:1%;background:#111;margin:10px 10px 0;padding:5px 30px 15px;border:1px solid #00FF00;}
.date{color:#00ff00;background:#222;border:1px solid #00FF00;position:absolute;text-align:center;left:-50px;top:10px;font-size:14px;width:50px;line-height:16px;padding:3px 0;}
.postinfo h2,.single-title h2,.postinfo-archive h2{margin:0;padding:0;line-height:40px;}
.postinfo h2 a,.single-title h2 a,.postinfo-archive h2 a{text-decoration:none;font-size:16px;font-weight:bold;color:#bbb;display:inline;}
.postinfo h2 a:hover,#postinfo-archive a:hover,.single-title h2 a:hover{color:#00ff00;text-decoration:none;}
.post .postinfo{margin:0;}
.display-info{margin-top:10px;text-align:center;font-size:18px;color:#ddd;}
.display-info a{color:#ddd;}
.display-info a:hover{color:#00ff00;}
p.read-more{position:absolute;left:30px;bottom:-5px;}
p.read-more a{text-decoration:none;color:#a5a5a5;}
.post .postcontent{line-height:20px;overflow:hidden;}
.post ul,.post ol{margin:15px 30px;font-size:12px;}
.post ul li{margin-bottom:4px;}
.post .postcontent table{background:#222;border:1px solid #222;border-width:2px;border-collapse:collapse;margin:5px 0 10px;}
.post .postcontent th,.post .postcontent td{border:1px solid #383838;padding:3px 10px;text-align:left;vertical-align:top;}
.post .postcontent tr.even td{background:#00FF00;}
.post .postcontent th{background:#181818;}
.commentslink1-top,.commentslink2{margin:0 -20px 20px;padding:0 20px;border-top:1px solid #252525;line-height:18px;font-size:12px;color:#555;}
.commentslink1-top a,.commentslink1-bottom a,.commentslink2 a{color:#555;text-decoration:none;}
.commentslink1-top a:hover,.commentslink1-bottom a:hover,.commentslink2 a:hover{color:#00ff00;text-decoration:underline;}
.commentslink1-bottom{text-align:right;margin:0 -20px;padding:0;line-height:18px;font-size:12px;color:#555;}
.post .postcontent blockquote{color:#777;background:#222;border:1px solid #00FF00;padding:15px;margin:10px 0 20px;}
.post .postcontent .postcontent code{background:#222;}
.post .postcontent pre{color:#ddd;background:#444;border:1px solid #00FF00;overflow:auto;padding:15px;margin:10px 0 20px;}
#add-info{margin:10px 0 0;padding:18px 0;}
#add-info h3{margin:9px 0;}
#add-info ul li{padding:3px 0;}
#add-info a{color:#777;}
#add-info a:hover{color:#00ff00;}

/* PAGINATION */
#pagination{margin:10px 0;padding:10px 15px;overflow:hidden;}
#pagination a,.navigation a{color:#00ff00;font-weight:bold;}
#pagination a:hover,.navigation a:hover{color:#9d9ea6;font-weight:bold;}
.navigation{font-weight:bold;;margin:0 0 0 10px;padding:10px;/*white-space:nowrap;*/color:#00ff00;}
.nav_link{background-color:#222;width:500px;padding:3px 10px;color:#ddd;}
.nav_link a{text-decoration:none;}
.nav_link .page_number{border:1px solid #00FF00;padding:2px 10px;}

/* sidebar */
#sidebar{width:260px;float:right;margin:0;padding:10px 0;position:relative;color:#777;}
#sidebar li.current_page_item a,#sidebar li.current-cat a{color:#fff;border-bottom:1px solid #00ff00;}
#sidebar li{list-style:none;margin:0;line-height:19px;}
#sidebar ul li{padding:0;}
#sidebar ul li:hover{}
#sidebar ul ul li{padding:0;margin-left:0;}
#sidebar ul ul ul li{padding:0;margin-left:0;}
#sidebar .widget{padding:10px 10px 20px;height:1%;}
*html #sidebar .widget{margin-left:-16px;}
/*#sidebar .widget_tag_cloud,#sidebar .widget_text,#sidebar .widget_calendar,#sidebar .Tag-Cloud{}*/
#sidebar .widget_search{text-align:center;padding-left:5px;}
#sidebar .widget_search input#s{padding:5px;border:2px solid #777;background:#f9f4f9;color:#00ff00;}
#sidebar a{color:#999;text-decoration:none;}
#sidebar a:hover{color:#fff;text-decoration:none;}
#sidebar h2,#sidebar .widget h2,#sidebar h3,#sidebar h4{border-bottom:1px solid #222;font-family:Arial;font-size:14px;font-weight:bold;color:#ddd;margin:0 -10px 10px;padding:0 10px;line-height:30px;}
#sidebar .widget h2 img{vertical-align:middle;}
*html #sidebar .widget h2 img{margin:6px 0;width:14px;height:14px;}
#sidebar .widget_calendar h2{background:none;}
/*#sidebar .widget_tag_cloud h2,#sidebar .widget_text h2,#sidebar .widget_calendar h2,#sidebar .Tag-Cloud h2{}*/
#sidebar p,.textwidget{line-height:20px;margin:10px 0;}
#searchform{background:#222;text-align:left;width:230px;border:1px solid #00FF00;margin:0;}
#sidebar input#s{background:transparent;border:none;color:#999;padding:3px 8px;font-size:12px;width:198px;}
#sidebar input#searchsubmit{border:1px solid #e5e5e5;border-top:1px solid #fafafa;border-left:1px solid #fafafa;background:#f2f2f2;padding:4px 5px;font-size:12px;}

/* Footer */
#footer{clear:both;overflow:hidden;margin:0 auto;width:900px;height:1%;padding:10px 0;border-top:1px solid #00FF00;border-left:1px solid #00FF00;}
#footer .left{color:#555;width:680px;margin:0;padding:0 10px;line-height:30px;float:left;text-align:left;}
#footer .left a{color:#666;}
#footer .left a:hover,#footer .right a:hover{color:#00ff00;}
#footer .right{color:#555;width:150px;line-height:30px;float:right;text-align:right;}
#footer .right a{color:#666;}

/* Comments */
#commentform{padding:5px 10px;text-align:left;font-size:14px;color:#bbb;}
#commentform p{margin:5px 5px 0 0;	padding:0;}
#commentform a{text-decoration:none;line-height:20px;}
#commentform textarea{padding:5px;}
#commentform h3{font-size:14px;font-weight:300;color:#777;margin:0;padding:0;}
#comment{width:80%;}
#author,#email,#url,#comment{border:1px solid #00FF00;font-size:12px;padding:3px;margin:5px 5px 0 0;background:#ccc;}
#submit{color:#bbb;background:#222;border:1px solid #00FF00;padding:5px;font-size:14px;font-weight:bold;margin-top:5px;}
#submit:hover{color:#ddd;background:#282828;}
#respond {margin:20px;}
#respond  a{font-weight:bold;}
#respond .cancel-comment-reply  a{font-size:12px;color:#00ff00;margin-left:10px;}
#respond .cancel-comment-reply  a:hover{color:#ddd;}
#respond h2{margin:0 10px;color:#ddd;}
/*cite{}
cite a{}*/
#comments,.nocomments{color:#ddd;margin:20px 0 0 0;padding:0 10px;line-height:40px;font-size:18px;}
#comments a{margin-left:200px;color:#ddd;font-size:14px;font-weight:normal;text-align:right;}
#comments a:hover{color:#00ff00;}
.nocomments{padding:0 10px;line-height:30px;font-size:12px;text-align:center;}
#commentlist{}
ol.commentlist{position:relative;list-style:none;margin:0;padding:10px 10px 20px;text-indent:0;}
ol.commentlist li{border:1px solid #252525;background:#151515;height:1%;margin:0 0 20px;padding:0 0 20px;position:relative;}
ol.commentlist li div.comment-author{border-bottom:1px solid #222;margin:0 20px 10px 80px;height:45px;}
ol.commentlist li div.vcard{}
ol.commentlist li div.vcard cite.fn{text-align:center;position:absolute;left:82px;top:25px;overflow:hidden;color:#bbb;font-style:normal;font-weight:bold;}
ol.commentlist li div.vcard cite.fn a.url{color:#ddd;}
ol.commentlist li div.vcard cite.fn a.url:hover{color:#00ff00;}
ol.commentlist li div.vcard img.avatar{position:absolute;left:20px;top:20px;width:48px;height:48px;padding:2px;}
ol.commentlist li div.vcard span.says{position:absolute;left:-9999px;top:-9999px;}
ol.commentlist li div.comment-meta{position:absolute;right:70px;top:25px;font-size:11px;font-weight:normal;}
ol.commentlist li div.comment-meta a{color:#00FF00;text-decoration:none;}
ol.commentlist li div.comment-meta a:hover{color:#777;}
ol.commentlist li ol.commentlist li ul{list-style:square;margin:0;padding:0;text-indent:0;}
ol.commentlist li p{margin:0 0 0 82px;padding:0 85px 10px 0;color:#bbb;}
ol.commentlist li div.reply{position:absolute;top:25px;right:20px;}
ol.commentlist li div.reply a{display:block;width:40px;line-height:14px;text-align:center;color:#666;}
ol.commentlist li div.reply a:hover{color:#999;}
ol.commentlist li ul.children{list-style:none;margin:0;text-indent:0;}
ol.commentlist li ul.children li{border:none;margin:15px 0 0 30px;padding-bottom:0;}
ol.commentlist li ul.children li.depth-2{margin:15px 20px 0 82px;}
ol.commentlist li ul.children li div.comment-author{margin:0;padding:0;padding-bottom:10px;height:15px;border-top:1px solid #222;border-bottom:none;}
ol.commentlist li ul.children li div.vcard cite.fn{text-align:left;position:absolute;left:30px;top:5px;color:#777;}
ol.commentlist li ul.children li div.vcard cite.fn a.url{color:#999;}
ol.commentlist li ul.children li div.vcard cite.fn a.url:hover{color:#00ff00;}
ol.commentlist li ul.children li img.avatar{position:absolute;top:2px;left:0;padding:1px;border:1px solid #ccc;width:16px;height:16px;background:#fff;}
ol.commentlist li ul.children li div.comment-meta{top:5px;right:50px;}
ol.commentlist li ul.children li p{margin:0;padding:5px 0 10px;color:#666;}
ol.commentlist li ul.children li div.reply{top:5px;right:0;}
ol.commentlist li.pingback div.vcard cite.fn{overflow:hidden;text-align:left;left:70px;top:47px;width:430px;}
ol.commentlist li.pingback div.comment-author{padding-bottom:25px;}
ol.commentlist li.pingback div.comment-meta{position:absolute;right:10px;top:20px;}
ol.commentlist li.pingback div.reply{right:-9999px;top:-9999px;}

/* calendar START */
.widget_calendar h3{display:none;color:#ddd;}
#wp-calendar{width:100%;}
#wp-calendar #today{background:#444;color:#ddd;}
#wp-calendar tbody a{font-weight:bolder;}
#wp-calendar caption{font-family:Arial;font-weight:bolder;letter-spacing:-0.05em;font-size:150%;text-align:left;padding-bottom:5px;}
#wp-calendar th,#wp-calendar td{text-align:center;}
#wp-calendar tbody td{border:1px solid #222;}
#wp-calendar tbody td.pad{border:0 none;}
#wp-calendar th{background:#222;color:#999;}
#wp-calendar td#prev{text-align:left;padding-top:5px;}
#wp-calendar td#next{text-align:right;padding-top:5px;}
#wp-calendar caption{color:#ddd;}

/* wp-caption END */
.wp-caption{border:1px solid #00FF00;text-align:center;background-color:#222;padding-top:4px;margin:10px;}
.wp-caption img{margin:0;padding:0;border:0 none;}
.wp-caption p.wp-caption-text{font-size:12px;line-height:17px;padding:0 4px 5px;margin:0;}
.wp-caption-dd{font-size:12px;line-height:17px;padding:0 4px 5px;margin:0;}

/* Otros */
.alignleft{float:left;margin-right:10px;width:auto;}
.alignright{float:right;margin-right:10px;width:auto;}
.aligncenter{clear:both;display:block;text-align:center;margin:0 auto;}



/* ==========================================================================
   AB HIER IST ALLES NEU
   ==========================================================================

   Nichts davon greift oberhalb von 980 Pixeln. Die einzigen Ausnahmen sind
   die vier Regeln direkt unter diesem Block - sie sind bewusst so gewaehlt,
   dass sie am bestehenden Layout nichts verruecken koennen.

   Loescht man alles ab hier, ist es wieder exakt Fischerman-2026.
   ========================================================================== */

/* Bilder und Einbettungen ragen sonst aus ihrem Kasten. Betrifft nur Inhalte,
   die breiter sind als ihr Platz - am Layout aendert es nichts. */
img,video,iframe,embed,object{max-width:100%;height:auto;}

/* Lange Adressen ohne Leerzeichen sprengen sonst jede schmale Spalte. */
#content,#sidebar{overflow-wrap:break-word;}

/* Nur fuer Screenreader sichtbar. Neue Klasse, kollidiert mit nichts. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link:focus{position:static!important;width:auto;height:auto;clip:auto;display:block;padding:10px;background:#111;color:#00ff00;}

/* ------------------------------------------------- Schalter fuer das Menue
 *
 * Ein verstecktes Kontrollkaestchen statt JavaScript. Der Browser merkt sich
 * den Zustand selbst, und es funktioniert auch bei blockierten Skripten.
 * Am Desktop ist der Schalter ausgeblendet.
 */
.menu-toggle-box{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.menu-toggle{display:none;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;color:#00ff00;font-size:14px;letter-spacing:.1em;text-transform:uppercase;user-select:none;}
.menu-toggle:hover{background:#181818;}
.menu-toggle__icon{position:relative;display:block;width:20px;height:2px;background:#00ff00;}
.menu-toggle__icon::before,.menu-toggle__icon::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#00ff00;}
.menu-toggle__icon::before{top:-6px;}
.menu-toggle__icon::after{top:6px;}
.menu-toggle-box:focus-visible + .menu-toggle{outline:2px solid #00ff00;outline-offset:-2px;}

/* ------------------------------------------------------- Suchformular
 *
 * Das alte Formular hatte GAR KEINEN Knopf - man drueckte Enter. Die 230
 * Pixel Kastenbreite waren also auf ein einzelnes Feld gerechnet. Mit dem
 * neuen Knopf passten Feld und Knopf nicht mehr nebeneinander, und der Knopf
 * rutschte darunter.
 *
 * Loesung: der Kasten behaelt seine 230 Pixel - der gruene Rahmen sitzt
 * damit exakt wie vorher -, aber Feld und Knopf teilen sich die Breite. Das
 * Feld nimmt, was der Knopf uebrig laesst.
 */
/* Der Untermenue-Schalter gehoert nur ins Handy-Layout. */
.fmng-unter-schalter{display:none;}

#searchform{display:flex;align-items:stretch;}
#header-menus input#s,
#sidebar input#s{width:auto;flex:1 1 auto;min-width:0;}
.searchsubmit{flex:0 0 auto;background:transparent;border:none;border-left:1px solid #00FF00;color:#00ff00;padding:3px 10px;font-size:12px;line-height:1.4;cursor:pointer;white-space:nowrap;}
.searchsubmit:hover{background:#00ff00;color:#000;}
#searchform input[type="search"]::placeholder{color:#666;opacity:1;}


/* ==========================================================================
   UNTERHALB 980 PIXEL
   ==========================================================================
   Hier wird aus dem Festbreiten-Layout ein mitwachsendes. box-sizing steht
   BEWUSST erst hier: global gesetzt wuerde es am Desktop den Aussenrahmen um
   80 Pixel verschieben, weil der Innenabstand dann von der Breite abgezogen
   statt aufgeschlagen wird.
   ========================================================================== */

/*
 * RSS-Punkt im Menue: nur auf dem Handy gemeint.
 *
 * Das Skript haengt ihn IMMER an - es kennt die Fensterbreite nicht, und
 * beim Drehen des Geraets waere eine einmal gemessene Breite ohnehin falsch.
 * Die Entscheidung gehoert deshalb hierher, wo sie bei jeder Aenderung der
 * Breite neu faellt. Am Desktop steht der Feed ohnehin schon oben rechts;
 * ein zweiter Eintrag im Menue war schlicht doppelt.
 */
#header-menus-page .fmng-rss-punkt{display:none;}

@media (max-width: 980px) {
	*,*::before,*::after{box-sizing:border-box;}

	#container{width:100%;max-width:100%;padding:0 16px;}
	#header{width:100%;position:relative;}
	#header-title{width:100%;max-width:100%;}
	#header-title h1{width:auto;}

	/* Sass auf left:50% mit margin-left:319px - also fest auf 980 Pixel
	   Fensterbreite gerechnet. Bei jeder anderen Breite landete der Link
	   irgendwo im Nichts.
	   Klein und rechtsbuendig statt gross und mittendrin: der Feed ist ein
	   Nebenweg, keine Ueberschrift. */
	#header-rss{position:static;margin:0;padding:0;text-align:right;}
	#header-rss a{display:inline-block;padding:4px 10px;width:auto;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;}

	#header-menus{width:100%;}
	#header-menus-page{float:none;width:100%;}

	/* Inhalt und Seitenleiste untereinander statt nebeneinander. */
	#wrapper{width:100%;padding:0 0 20px;margin-right:0;border-right:none;}
	#content{width:100%;float:none;}
	#sidebar{width:100%;float:none;}

	#footer{width:100%;border-left:none;}
	#footer .left{width:100%;float:none;}
	#footer .right{width:100%;float:none;text-align:left;}

	#searchform{width:100%;max-width:100%;}
	.nav_link{width:100%;}
	#comment{width:100%;}
}

/* ==========================================================================
   UNTERHALB 760 PIXEL - Handy
   ========================================================================== */

@media (max-width: 760px) {
	/* 12 Pixel Grundschrift sind auf einem Handy zu klein zum Lesen. */
	body{font-size:15px;line-height:1.55;}

	#container{padding:0 12px;}

	/* --- Menue --- */
	.menu-toggle{display:flex;}

	/* Zugeklappt. Das Kaestchen steht im header.php VOR dem Menue, deshalb
	   greift der Geschwister-Selektor. */
	#header-menus-page{display:none;padding:0 0 10px;}
	.menu-toggle-box:checked ~ #header-menus-page{display:block;}

	#header-menus-page li{float:none;width:100%;margin:0;}

	/*
	 * text-align:center stammt aus dem Desktop-Stylesheet - dort sind die
	 * Punkte kleine Kaestchen nebeneinander, da ist Zentrierung richtig.
	 * Ueber die volle Breite gelesen wirkt sie wie ein Versehen.
	 * Auch der Kaestchenrahmen faellt weg: bei gestapelten Zeilen ergibt er
	 * doppelte Linien.
	 */
	#header-menus-page a{
		display:block;
		text-align:left;
		padding:11px 14px;
		border:none;
		border-bottom:1px solid #1c1c1c;
		background:transparent;
	}

	/*
	 * #search traegt im Original border-left und border-bottom in Gruen -
	 * am Desktop bilden sie die Ecke des Rahmens rechts oben. Ueber die
	 * volle Breite ergaben sie einen gruenen Strich quer unter dem Suchfeld,
	 * der zu nichts gehoerte.
	 */
	#search{float:none;border:none;padding:0 0 12px;text-align:left;}

	/*
	 * RSS aus der Kopfzeile nehmen. Er kostete dort eine ganze Zeile in
	 * bester Lage. Feedreader finden den Feed ueber <link rel="alternate">
	 * im Seitenkopf, der sichtbare Link ist dafuer nicht noetig.
	 *
	 * Das Skript haengt eine Kopie ans Ende des Menues. Laeuft kein Skript,
	 * bleibt der Link hier sichtbar - lieber eine Zeile zu viel als ein
	 * verschwundener Link.
	 */
	.fmng-js #header-rss{display:none;}

	#header-menus-page .fmng-rss-punkt{display:block;}
	.fmng-rss-punkt a{color:#00ff00;}

	/*
	 * DER EIGENTLICHE PUNKT: Untermenues oeffneten nur per :hover. Auf einem
	 * Touchscreen gibt es kein Darueberfahren - die neunzehn Werkzeuge unter
	 * "Online-Tools" waren auf dem Handy unerreichbar.
	 *
	 * Grundzustand: offen und eingerueckt. So ist ohne JavaScript alles
	 * erreichbar. Das Skript klappt sie anschliessend zu - siehe unten.
	 */
	#header-menus-page ul ul{visibility:visible;position:static;width:100%;top:auto;left:auto;}
	#header-menus-page ul ul a{padding-left:32px;color:#888;font-size:.95em;}
	#header-menus-page ul ul ul a{padding-left:50px;}

	/* ---------------------------------------------- Ziehharmonika
	 *
	 * Neun Hauptpunkte plus 19 Werkzeuge plus acht Projekte ergaben rund
	 * vierzig Zeilen. Zugeklappt sind es neun.
	 *
	 * Die Regeln haengen an .fmng-js, einer Klasse, die das Skript selbst
	 * setzt. Ohne Skript greift keine davon und die Untermenues bleiben
	 * offen - lang, aber vollstaendig.
	 */
	/*
	 * Zeile als Flex-Behaelter statt Pfeil per position:absolute. So sind
	 * Name und Pfeil IMMER gleich hoch, egal wie gross die Schrift gerade
	 * ist - bei absoluter Positionierung muesste die Hoehe geraten werden.
	 * Das Untermenue bricht mit flex-basis:100% auf eine eigene Zeile.
	 */
	.fmng-js #header-menus-page .fmng-hat-unter{display:flex;flex-wrap:wrap;align-items:stretch;}
	.fmng-js #header-menus-page .fmng-hat-unter > a{flex:1 1 auto;min-width:0;}
	.fmng-js #header-menus-page .fmng-hat-unter > ul{flex:1 0 100%;display:none;}
	.fmng-js #header-menus-page .fmng-hat-unter.fmng-offen > ul{display:block;}

	.fmng-unter-schalter{
		display:block;
		flex:0 0 52px;
		background:transparent;
		border:none;
		border-left:1px solid #1c1c1c;
		border-bottom:1px solid #1c1c1c;
		color:#00ff00;
		font-size:14px;
		line-height:1;
		cursor:pointer;
	}

	.fmng-unter-schalter::before{content:"\25B8";display:inline-block;transition:transform .15s;}
	.fmng-hat-unter.fmng-offen > .fmng-unter-schalter::before{transform:rotate(90deg);}
	.fmng-unter-schalter:hover{background:#181818;}
	.fmng-unter-schalter:focus-visible{outline:2px solid #00ff00;outline-offset:-2px;}

	#search{width:100%;padding:0 0 12px;}

	/* --- Beitraege --- */
	/* Das Datumskaestchen ragte 50 Pixel nach links aus dem Beitrag heraus
	   und waere am Rand abgeschnitten worden. */
	.post{margin:10px 4px 0;padding:5px 14px 15px;}
	.date{position:static;left:auto;top:auto;display:inline-block;margin:10px 0 4px;}

	.postinfo h2 a,.single-title h2 a,.postinfo-archive h2 a{font-size:18px;}
	.postinfo h2,.single-title h2,.postinfo-archive h2{line-height:1.35;padding:6px 0;}
	p.read-more{position:static;left:auto;bottom:auto;}

	/* Breite Tabellen bekommen eine Bildlaufleiste, statt die Seite
	   aufzudruecken. */
	.post .postcontent table{display:block;overflow-x:auto;max-width:100%;}
	.post .postcontent pre{padding:10px;font-size:13px;}
	.post ul,.post ol{margin:15px 0 15px 20px;}

	/* --- Kommentare ---
	 * Die Liste arbeitete durchgehend mit position:absolute auf feste
	 * Pixelwerte. Auf schmalem Schirm lag alles uebereinander.
	 */
	ol.commentlist li div.vcard cite.fn,
	ol.commentlist li div.comment-meta,
	ol.commentlist li div.reply,
	ol.commentlist li div.vcard img.avatar,
	ol.commentlist li.pingback div.vcard cite.fn,
	ol.commentlist li.pingback div.comment-meta{position:static;left:auto;top:auto;right:auto;width:auto;text-align:left;}
	ol.commentlist li div.comment-author{height:auto;margin:0 12px 10px;padding:10px 0;}
	ol.commentlist li p{margin:0 12px;padding:0 0 10px;}
	ol.commentlist li ul.children li,
	ol.commentlist li ul.children li.depth-2{margin:15px 0 0 12px;}
	ol.commentlist li div.vcard img.avatar{float:left;margin-right:10px;}
	#comments a{margin-left:0;}
	#respond{margin:12px;}
}

/* ==========================================================================
   UNTERHALB 420 PIXEL - kleine Handys
   ========================================================================== */

@media (max-width: 760px) {
	/* Gilt auch, wenn der Terminal-Titel abgeschaltet ist. */
	#header-title h1{font-size:clamp(18px,6vw,28px);}
	#header-title h2{letter-spacing:.1em;}

	/* Der Titel ist ein einziges Wort ohne Trennstelle. Sollte er trotz
	   clamp() einmal klemmen, wird er hier lieber gestaucht als
	   abgeschnitten. */
	#header-title h1,#header-title h2{overflow-wrap:break-word;}
	#header-title h1 a{word-break:normal;}
}

@media (max-width: 420px) {
	.post{margin:8px 0 0;padding:5px 10px 12px;}
	#container{padding:0 8px;}
}

@media (prefers-reduced-motion: reduce) {
	*{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* ==========================================================================
   TERMINAL-SCHRIFT: UNTERTITEL UND WIDGET-TITEL
   ==========================================================================

   VT323, dieselbe Schrift wie die Online-Tools.

   DER SEITENTITEL BLEIBT BEWUSST IN ARIAL. Ein erster Versuch hatte auch ihn
   auf VT323 gestellt - das Ergebnis war grob statt scharf. Grund: VT323 ist
   eine Pixelschrift fuer kleine Groessen. Auf 44 Pixel hochgezogen werden die
   Pixelstufen sichtbar. Bei den Tools faellt das nicht auf, weil sie dort
   gruen mit Leuchten laeuft und der Effekt die Kanten uebertoent; der weisse
   Titel hat diesen Kontext nicht.

   So bleibt der Schrift eine Aussage: "hier ist ein Werkzeug". Ueberall
   verwendet waere sie blosse Dekoration.

   Die Regeln haengen an einer Klasse am <body>, die nur gesetzt wird, wenn
   die Schrift auch geladen wurde. Abschalten mit einer Zeile:

       add_filter( 'fmng_terminal_schrift', '__return_false' );
   ========================================================================== */

.fmng-terminal #header-title h2{
	font-family:"VT323",ui-monospace,monospace;
	font-size:17px;
	letter-spacing:.28em;
	padding-bottom:14px;
}

/* Widget-Ueberschriften in der Seitenleiste.
   font-weight:400 ist wichtig - VT323 hat nur einen Schnitt. Bliebe "bold"
   stehen, rechnete der Browser eine Fettung dazu, und das sieht verschmiert
   aus. */
.fmng-terminal #sidebar h2,
.fmng-terminal #sidebar .widget h2,
.fmng-terminal #sidebar h3,
.fmng-terminal #sidebar h4{
	font-family:"VT323",ui-monospace,monospace;
	font-weight:400;
	font-size:24px;
	letter-spacing:.04em;
	line-height:34px;
	color:#00ff00;
}

@media (max-width: 760px) {
	.fmng-terminal #header-title h2{
		font-size:clamp(12px,3.2vw,15px);
		letter-spacing:.12em;
		padding:0 0 12px 8px;
	}
}


/* ==========================================================================
   AKTIVER MENUEPUNKT - KORREKTUR
   ==========================================================================

   Im Originalstylesheet steht:

       #header-menus-page li.current_page_item a { color:#fff; }

   Zwei Folgen, beide unerwuenscht:

   1. Es ist ein NACHFAHREN-Selektor. Traegt das <li> von "Online-Tools" die
      Klasse current_page_item, faerbt die Regel JEDEN Link darin weiss -
      auch alle neunzehn Eintraege im Untermenue. Gemeint war nur der Punkt
      selbst.

   2. Ihre Spezifitaet ist (1,1,2), die des Hover-Effekts
      #header-menus-page a:hover nur (1,1,1). Die Farbe des aktiven Punktes
      gewinnt deshalb auch beim Darueberfahren - der Hover blieb wirkungslos.

   Behoben per Ueberschreibung statt im Originalblock, damit dessen Zeilen
   unangetastet bleiben.
   ========================================================================== */

/* Untermenue-Eintraege sind nicht der aktive Punkt, nur weil ihr Elternteil
   es ist. (1,1,3) schlaegt (1,1,2). */
#header-menus-page li.current_page_item ul a,
#header-menus-page li.current_page_ancestor ul a,
#header-menus-page li.current_page_parent ul a{color:#777;}

/* Nur der tatsaechlich aktive Punkt bleibt weiss. */
#header-menus-page li.current_page_item > a{color:#fff;}

/* Darueberfahren gewinnt jetzt ueberall. (1,2,2) beziehungsweise (1,2,3). */
#header-menus-page a:hover,
#header-menus-page li.current_page_item > a:hover,
#header-menus-page li.current_page_item ul a:hover,
#header-menus-page li.current_page_ancestor ul a:hover,
#header-menus-page li.current_page_parent ul a:hover{color:#00ff00;background:#222;}


/* ==========================================================================
   TRENNER ZWISCHEN DEN WIDGETS
   ==========================================================================

   WARUM EINE WAAGRECHTE LINIE UND KEIN KASTEN
   -------------------------------------------
   Dieses Design besteht aus einer einzigen Sorte Linie: durchgezogen, ein
   Pixel, #00FF00. Ein gestrichelter Rahmen waere eine zweite Sprache - und
   ein geschlossener Kasten je Widget viel Rahmen fuer wenig Inhalt.

   WARUM SIE OHNE KORREKTURWERT AUFGEHT
   ------------------------------------
   #wrapper ist 899 Pixel breit und traegt rechts die gruene Rahmenlinie.
   Darin liegen #content mit 610 links und #sidebar mit 260 rechts. Die
   rechte Kante der Seitenleiste faellt damit genau auf diese Linie.

   #sidebar .widget hat seinen Innenabstand innen (padding:10px 10px 20px)
   und spannt deshalb ueber die vollen 260 Pixel. Eine Oberlinie laeuft von
   selbst bis an den Rahmen und stoesst dort an - wie eine Sprosse zwischen
   zwei Holmen. Kein negativer Aussenabstand, keine ausgerechnete Breite,
   nichts, was beim naechsten Eingriff verrutschen kann.

   WARUM DER NACHBAR-SELEKTOR
   --------------------------
   .widget + .widget laesst das erste Widget aus. Bekaeme auch das eine
   Oberlinie, saesse sie direkt unter dem Suchfeld und haette kein
   Gegenueber - ein Trenner, der nichts trennt.

   UNTERHALB VON 980 PIXELN
   ------------------------
   Dort entfaellt border-right am Wrapper, den Anschluss gibt es also nicht
   mehr. Die Linie bleibt als Trenner sinnvoll, sie bedeutet nur weniger.
   Deshalb steht die Regel bewusst NICHT in einer Media Query.

   ANDERE VARIANTE
   ---------------
   Wer statt der Sprosse die Ecke will - dieselbe Form, die #header-title
   und #search im Kopfbereich verwenden - ersetzt den Block durch:

       #sidebar .widget{
           border-top:1px solid #00ff00;
           border-left:1px solid #00ff00;
           padding-left:14px;
       }
   ========================================================================== */

#sidebar .widget + .widget{
	border-top:1px solid #00ff00;
	padding-top:20px;
}


/* ==========================================================================
   ARTIKELRAHMEN BUENDIG ZUM KOPFBEREICH
   ==========================================================================

   DAS PROBLEM
   -----------
   Die gruene Senkrechte im Kopfbereich (border-left an #header-title) und die
   gruene Linie am Artikelrahmen standen 11 Pixel auseinander. Nahe genug,
   dass das Auge sie fuer denselben Strich haelt, und weit genug, dass es
   stoert.

   DIE RECHNUNG, gemessen ab der Linkskante von #container:

       #container Inhalt   padding:0 40px                      ->  40
       #header             (980-900)/2 = 40 dazu               ->  80
       #header-title Linie                                     ->  80
       #wrapper Inhalt     margin-left:0 + padding-left:40     ->  80
       #content Linkskante                                     ->  80
       .post gruene Linie  +1 Rahmen #content, +10 margin      ->  91

   Bei 80 liegt alles. Der einzige Ausreisser ist der Artikel.

   WARUM NICHT EINE DURCHGEHENDE LINIE
   -----------------------------------
   Ein frueherer Versuch hat die Kante von #content eingefaerbt und die Luecken
   darueber und darunter geschlossen. Rechnerisch sauber, gestalterisch falsch:
   dieses Design lebt von versetzten L-Formen - Kopftitel, Suchfeld, Fussbereich
   greifen ineinander, ohne sich zu beruehren. Eine durchgezogene Senkrechte
   macht daraus einen geschlossenen Kasten und nimmt dem Ganzen die Schwingung.

   DER EINGRIFF
   ------------
   margin-left:-1px zieht den Artikel um 11 Pixel nach links: 10 vom bisherigen
   Aussenabstand, 1 vom Rahmen des Elternteils. Die Linkskante landet auf 80.

   Die Rechtskante bleibt, wo sie war. Die Breite steht auf auto und waechst
   deshalb nach links; margin-right bleibt bei 10, der rechte Rahmen also bei
   681. Nichts an der rechten Haelfte des Layouts bewegt sich.

   WARUM #wrapper flow-root STATT overflow:hidden BEKOMMT
   ------------------------------------------------------
   Das Datumskaestchen haengt mit left:-50px an .post und wandert mit. Es sitzt
   heute bei 42, der Beschnittrand von #wrapper{overflow:hidden} liegt bei 40 -
   ganze 2 Pixel Luft. Nach der Verschiebung saesse es bei 31 und waere um 9
   Pixel angeschnitten.

   flow-root umschliesst die schwebenden Spalten genauso wie overflow:hidden,
   beschneidet aber nichts. Damit darf das Kaestchen mitwandern und behaelt
   seinen Bezug zum Rahmen: sein rechter Rand steht wie bisher 2 Pixel hinter
   der Linie. Deshalb bleibt .date unangetastet.

   NUR OBERHALB VON 980
   --------------------
   Darunter steht #content auf voller Breite und die 11 Pixel gibt es nicht
   mehr. Eine min-width-Abfrage statt einer Ueberschreibung, damit im
   Handy-Layout garantiert nichts ankommt.
   ========================================================================== */

@media (min-width: 981px) {
	/* padding-bottom von 20 auf 10: zwischen der gruenen Linie des letzten
	   Artikels und der des Fussbereichs standen rund 63 Pixel, davon etwa 14
	   fuer den Text. Nur hier oben - auf dem Handy stehen Inhalt und
	   Seitenleiste untereinander, dort sind die 20 Pixel sinnvoller.
	   Nebenwirkung: die rechte Linie an #wrapper laeuft dessen ganze Hoehe
	   und endet damit 10 Pixel naeher am Fussbereich. */
	#wrapper{display:flow-root;overflow:visible;padding-bottom:10px;}
	/*
	 * Links UND rechts buendig. Die Kurzschreibweise margin:10px 10px 0
	 * setzt beide Seiten auf 10; bis 1.2.10 war nur die linke gezogen,
	 * rechts blieb ein grauer Streifen stehen.
	 *
	 * Der Artikel deckt damit die Kastenkante von #content genau ab:
	 * 80 bis 692, also 1 + 610 + 1. Die sichtbare Begrenzung der Spalte
	 * ist der gruene Rahmen des Artikels - dort gehoert sie hin.
	 */
	.post{margin-left:-1px;margin-right:-1px;}

	/*
	 * Zwischen zwei Artikeln trennt margin-top. Ueber dem ersten hat er
	 * nichts zu trennen und liess nur einen grauen Streifen von zehn
	 * Pixeln stehen - ein Aussenabstand ist durchsichtig, das #181818
	 * von #content schien hindurch.
	 *
	 * .post ist in index.php, archive.php, search.php, single.php und
	 * page.php das erste Kind von #content, direkt hinter dem oeffnenden
	 * Tag ohne Leerzeichen dazwischen. :first-child greift also.
	 */
	.post:first-child{margin-top:0;}
}


/* ==========================================================================
   DIE GRAUE SPALTE ENDET AM LETZTEN ARTIKEL
   ==========================================================================

   #content traegt background:#181818. Die Blaetternavigation steht als letztes
   Kind darin, also lag "Next page" bisher auf Grau - die Spalte lief unter der
   Navigation weiter, obwohl der Inhalt oben laengst zu Ende war.

   Jetzt schliesst das Grau an der Unterkante des letzten Artikels, genau an
   dessen gruenem Rahmen. Alles darunter ist schwarz.

   margin:0 statt 10px 0
       Der Aussenabstand war durchsichtig, das Grau von #content schien
       hindurch. Ohne ihn beginnt Schwarz direkt an der gruenen Linie.

   padding:14px 30px
       Die 30 sind kein runder Wert, sondern der Innenabstand von .post. Der
       Text der Navigation steht damit auf derselben Senkrechten wie der Text
       der Artikel darueber.

   DIE UNSICHTBARE FALLE
   ---------------------
   posts_nav_link() gibt NICHTS aus, solange es nur eine Ergebnisseite gibt -
   im Kern haengt die ganze Ausgabe an "max_num_pages > 1". Das <div> steht
   aber trotzdem in der Vorlage, mitsamt seinem Innenabstand. Das ergibt einen
   leeren Streifen von rund zwanzig Pixeln.

   Bisher fiel er nicht auf: dieselbe Farbe wie alles ringsum. Schwarz
   eingefaerbt waere daraus auf jeder Seite ohne Blaetternavigation ein
   schwarzer Balken mitten in der grauen Spalte geworden.

   :empty greift hier zuverlaessig, weil in der Vorlage kein Leerzeichen
   zwischen den Tags steht - <div id="pagination"><?php ... ?></div>. Ein
   einziges Leerzeichen wuerde den Selektor aushebeln, ein Textknoten zaehlt
   als Inhalt.
   ========================================================================== */

#pagination{margin:0;padding:8px 30px;background:#000;}
#pagination:empty{display:none;}


/* ==========================================================================
   DER GRAUE RAHMEN UM #content
   ==========================================================================

   #content traegt border:1px solid #222 auf allen vier Seiten. Solange innen
   und aussen Grau war, sah man ihn nicht. Sobald die Blaetternavigation
   schwarz wurde, zeichnete er sich als Kaesten um sie herum ab.

   Dasselbe Muster zum dritten Mal: erst der unsichtbare Rahmen an
   #header-menus, dann dessen unsichtbarer Hintergrund, jetzt dieser. Etwas,
   das nur deshalb nicht zu sehen war, weil sein Umfeld dieselbe Farbe hatte.

   Statt ihn an einer Stelle zu ueberdecken, bekommt er die Farbe des
   Untergrunds. Damit ist der Fall erledigt und nicht nur diese eine Ecke.

   Sichtbar begrenzt wird die graue Spalte durch den Farbwechsel #181818 gegen
   Schwarz, nicht durch diesen Rahmen - es geht also nichts verloren.

   NUR border-color, NICHT border
   ------------------------------
   Die Breite von einem Pixel bleibt stehen. Wuerde man den Rahmen entfernen,
   ruecken alle Kinder um ein Pixel nach links und oben - und der Artikel
   steht seit 1.2.7 genau auf 80.
   ========================================================================== */

#content{border-color:#000;}


/* ==========================================================================
   HANDY: RANGFOLGE DER TITEL, WIDGETS, SEITLICHES SCHWANKEN
   ==========================================================================

   1. WARUM DER WEBSITE-TITEL KLEINER WIRKT, OBWOHL ER GROESSER IST
   ---------------------------------------------------------------
   Bei rund 393 Pixeln Fensterbreite liefert clamp(18px,6vw,28px) etwa 23,6
   Pixel fuer "The.Fischerman.CH", der Artikeltitel steht auf 18. Der
   Website-Titel ist also der groessere - aber er traegt font-weight:normal,
   waehrend der Artikeltitel aus der Grundregel h1,h2,h3...{font-weight:bold}
   fett kommt und ueber fuenf Zeilen laeuft.

   Fett auf fuenf Zeilen schlaegt mager auf einer. Es war nie ein
   Groessenproblem, sondern eines der Flaeche.

   Die neuen Werte: bei 393 Pixeln 29,5 gegen 17, bei 320 Pixeln 24 gegen 17.
   "|||The.Fischerman.CH" braucht bei 24 Pixeln rund 204 Pixel Platz, bei 320
   Pixeln Fensterbreite abzueglich 2x16 Innenabstand stehen 288 zur Verfuegung.

   2. WELCHE WIDGETS AUF DEM HANDY BLEIBEN
   ---------------------------------------
   Nicht die ganze Seitenleiste, sondern zwei benannte Widgets. Grund:
   Suchmaschinen bewerten vorrangig die mobile Fassung. Ein ausgeblendetes
   #sidebar haette das LLM-Radar-Widget aus genau der Version entfernt, die
   zaehlt - und die Streuung der internen Verweise auf die 250 Modellseiten
   war sein Hauptzweck.

   Die Klassennamen bildet WordPress selbst: beide Plugins setzen keinen
   eigenen classname, also entsteht "widget_" plus Kennung. Das Radar-Widget
   setzt seinen classname ausdruecklich auf llmr-widget und bleibt stehen.

   3. DAS SEITLICHE SCHWANKEN
   --------------------------
   Jede feste Pixelbreite des Themes wird unterhalb von 980 zurueckgesetzt -
   #container, #header, #header-title samt h1, #header-menus, #wrapper,
   #content, #sidebar, #footer mit .left und .right, #searchform, .nav_link,
   #comment - und img,video,iframe,embed,object stehen auf max-width:100%.
   Das Theme ragt also nicht hinaus.

   Es kommt demnach aus Inhalt oder Plugin. Diese Regel behandelt das
   Symptom, nicht die Ursache: sie schneidet ab, was hinausragt, statt es
   schmaler zu machen.

   clip statt hidden: overflow:hidden macht aus dem Element einen
   Scrollbehaelter. Das stoert Sprungmarken und position:sticky. clip
   schneidet nur. Aeltere Browser ignorieren den Wert und verhalten sich wie
   bisher - kein Rueckschritt, nur keine Verbesserung.
   ========================================================================== */

@media (max-width: 980px) {
	html{overflow-x:clip;}
}

@media (max-width: 760px) {
	#header-title h1{font-size:clamp(22px,7.5vw,32px);}

	.postinfo h2 a,
	.single-title h2 a,
	.postinfo-archive h2 a{font-size:17px;}

	/*
	 * ERLAUBNISLISTE, nicht Verbotsliste.
	 *
	 * Zuerst standen hier die beiden Widgets, deren Klassennamen ich
	 * kannte. Das war der falsche Ansatz: die Seitenleiste enthaelt
	 * auch Archives, Random Backgrounds und Site QR Code, und was
	 * morgen dazukommt, weiss ich erst recht nicht.
	 *
	 * Umgekehrt braucht es kein Wissen ueber die anderen: alles weg,
	 * das Radar-Widget zurueck. Neue Widgets sind damit auf dem Handy
	 * von sich aus unsichtbar - das ist die sichere Richtung, denn ein
	 * vergessenes Widget kostet dort mehr als es bringt.
	 *
	 * Spezifitaet: #sidebar .widget ist (1,1,0), die Ausnahme mit dem
	 * zweiten Klassennamen (1,2,0) und gewinnt deshalb.
	 */
	#sidebar .widget{display:none;}
	#sidebar .widget.llmr-widget{display:block;}
}


/* ==========================================================================
   DIE RSS-ECKE IM HANDY-LAYOUT
   ==========================================================================

   DIE URSACHE DES SEITLICHEN SCHWANKENS
   -------------------------------------
   Der sichtbare RSS-Link wurde unterhalb von 980 auf position:static gesetzt
   und unterhalb von 760 ganz ausgeblendet. Die DREI Kaestchen, aus denen die
   kleine Ecke gebaut ist, hat dabei niemand angefasst. Sie stehen weiterhin
   auf position:absolute mit left:50% und margin-left:320px.

   Nachgerechnet bei 393 Pixeln Fensterbreite: #header ist dort 361 breit,
   die Haelfte davon 180,5, plus 16 Innenabstand von #container, plus 320
   Versatz, plus 15 Breite - das erste Kaestchen endet bei 531. Das Fenster
   hoert bei 393 auf. Rund 139 Pixel Ueberhang.

   Ein absolut positioniertes Element nimmt keinen Platz im Fluss ein, aber
   es vergroessert die scrollbare Flaeche. iOS liess die Seite deshalb seitlich
   wandern - sichtbar nur beim schnellen Scrollen, weil sie danach
   zurueckfedert.

   Das ist auch der Grund, warum die Suche im Stylesheet nach festen Breiten
   nichts ergab: hier ist keine Breite zu gross, sondern eine Position.

   WARUM AUSBLENDEN UND NICHT VERSCHIEBEN
   --------------------------------------
   Die Ecke ist reine Zier - drei Rahmen ohne Inhalt, die zusammen ein
   RSS-Symbol andeuten. Sie gehoert zum Desktop-Kopf, wo sie neben dem
   Schriftzug sitzt. Im Handy-Layout gibt es diesen Platz nicht, und der Feed
   ist dort ohnehin als Menuepunkt erreichbar.

   Damit ist overflow-x:clip weiter oben vom Heilmittel zum Sicherheitsnetz
   geworden. Es darf bleiben, faengt kuenftige Ueberhaenge aus Beitraegen ab -
   wer Probleme lieber sieht als versteckt, nimmt es heraus.
   ========================================================================== */

@media (max-width: 980px) {
	#header-rss-logo1,
	#header-rss-logo2,
	#header-rss-logo3{display:none;}
}


/* ==========================================================================
   JEDER ARTIKEL EIN EIGENER KASTEN
   ==========================================================================

   Zwischen zwei Artikeln lag ein grauer Streifen ueber die volle Spaltenbreite.
   Er war kein Element: .post traegt margin:10px 10px 0, und ein Aussenabstand
   ist durchsichtig - man sah das background:#181818 von #content hindurch.

   Damit wirkten die Artikel wie Abschnitte einer durchgehenden Flaeche statt
   wie einzelne Kaesten. Ohne diesen Hintergrund steht jeder Beitrag fuer sich:
   #111 innen, gruener Rahmen, schwarz dazwischen.

   WAS DABEI MIT VERSCHWINDET
   --------------------------
   Zwei Bereiche haben keinen eigenen Hintergrund und lagen bisher auf diesem
   Grau:

     - die Kommentarliste auf Einzelbeitraegen. Die Kommentare selbst haben
       background:#151515 und einen Rahmen in #252525, bleiben also als Kaesten
       lesbar; nur der Untergrund dazwischen wird schwarz.
     - #add-info auf der 404-Seite.

   Nichts Unsichtbares kommt zum Vorschein: hinter #content liegt #wrapper ohne
   Hintergrund und dahinter body mit #000.

   background:transparent, nicht background:none - die Kurzschreibweise wuerde
   auch Bild, Position und Wiederholung zuruecksetzen. Hier ist nur die Farbe
   gemeint.

   Gilt in beiden Layouts. Es ist eine reine Farbaenderung, am Kastenmodell
   aendert sich nichts, und ein Handy-Layout mit grauen Streifen und der
   Desktop ohne waeren zwei verschiedene Entwuerfe.
   ========================================================================== */

#content{background:transparent;}
