/* include with → <link rel=stylesheet href=//paper.rt.ht/.css> */
/*                                                         A4    letter        syntax
  --u:  paper   size   unit                                 1mm       1in     <length>
  --w:  paper  width                                      210         8.5     <number>
  --h:  paper height                                      297        11       <number>
  --wu: paper  width × unit == calc(var(--w) * var(--u))  210mm       8.5in   <length>
  --hu: paper height × unit == calc(var(--h) * var(--u))  297mm      11in     <length>

  --ar: paper aspect  ratio ==      var(--w) / var(--h)   210   /   297
*/

@property --w { syntax: '<number>'; initial-value: 0; }
@property --h { syntax: '<number>'; initial-value: 0; }
@property --u { syntax: '<length>'; initial-value: 0mm; }
[size] { --wu: calc(var(--w) * var(--u)); --hu: calc(var(--h) * var(--u)); --ar: var(--w) / var(--h); }


/* ×                                                          complete
  ISO 4A0 2A0 A0→10 A2→5-extra A3→4-super super-A3→4 A4-long  ✔️
              B0→10   B5-extra                                ✔️
              C0→10   C7/6 DL                                 ✔️
  JPN     JIS-B0→12                                           ✔️
  CHN         D0→6                                            ✔️
             RD0→6                                            ✔️
  USA letter legal ...                                        🚧
*/

/* ISO A B C=Envelope */ /* International Standards Organization */
[size='4A0']    { --w: 1682; --h: 2378; --u: 1mm; }
[size='2A0']    { --w: 1189; --h: 1682; --u: 1mm; }
[size=A0]       { --w:  841; --h: 1189; --u: 1mm; } [size=B0]  { --w: 1000; --h: 1414; --u: 1mm; } [size=C0]     { --w:  917; --h: 1297; --u: 1mm; } /* For flat A0 sheet. */
[size=A1]       { --w:  594; --h:  841; --u: 1mm; } [size=B1]  { --w:  707; --h: 1000; --u: 1mm; } [size=C1]     { --w:  648; --h:  917; --u: 1mm; } /* For flat A1 sheet. */
[size=A2]       { --w:  420; --h:  594; --u: 1mm; } [size=B2]  { --w:  500; --h:  707; --u: 1mm; } [size=C2]     { --w:  458; --h:  648; --u: 1mm; } /* For flat A2 sheet, A1 folded in half. */
[size=A3]       { --w:  297; --h:  420; --u: 1mm; } [size=B3]  { --w:  353; --h:  500; --u: 1mm; } [size=C3]     { --w:  324; --h:  458; --u: 1mm; } /* For flat A3 sheet, A2 folded in half. */
[size=A4]       { --w:  210; --h:  297; --u: 1mm; } [size=B4]  { --w:  250; --h:  353; --u: 1mm; } [size=C4]     { --w:  229; --h:  324; --u: 1mm; } /* For flat A4 sheet, A3 folded in half. Common. */
                                                                                                   [size=DL]     { --w:  110; --h:  220; --u: 1mm; } /* For A4 sheet folded in thirds, A5 in half. Common. */
[size=A5]       { --w:  148; --h:  210; --u: 1mm; } [size=B5]  { --w:  176; --h:  250; --u: 1mm; } [size=C5]     { --w:  162; --h:  229; --u: 1mm; } /* For flat A5 sheet, A4 folded in half. Common. */
[size=A6]       { --w:  105; --h:  148; --u: 1mm; } [size=B6]  { --w:  125; --h:  176; --u: 1mm; } [size=C6]     { --w:  114; --h:  162; --u: 1mm; } /* For A5 folded in half. Common. */
[size=A7]       { --w:   74; --h:  105; --u: 1mm; } [size=B7]  { --w:   88; --h:  125; --u: 1mm; } [size=C7]     { --w:   81; --h:  114; --u: 1mm; } /* For A5 folded in quarters. Uncommon. */
                                                                                                   [size='C7/6'] { --w:   81; --h:  162; --u: 1mm; } /* For A5 sheet folded in thirds. Uncommon. */
[size=A8]       { --w:   52; --h:   74; --u: 1mm; } [size=B8]  { --w:   62; --h:   88; --u: 1mm; } [size=C8]     { --w:   57; --h:   81; --u: 1mm; }
[size=A9]       { --w:   37; --h:   52; --u: 1mm; } [size=B9]  { --w:   44; --h:   62; --u: 1mm; } [size=C9]     { --w:   40; --h:   57; --u: 1mm; }
[size=A10]      { --w:   26; --h:   37; --u: 1mm; } [size=B10] { --w:   31; --h:   44; --u: 1mm; } [size=C10]    { --w:   28; --h:   40; --u: 1mm; }

/* ISO EXTRAS */
[size=A2-extra] { --w:  445; --h:  619; --u: 1mm; }
[size=A3-extra] { --w:  322; --h:  445; --u: 1mm; }
[size=A3-super] { --w:  305; --h:  508; --u: 1mm; }
[size=super-A3] { --w:  305; --h:  487; --u: 1mm; }
[size=A4-extra] { --w:  235; --h:  322; --u: 1mm; }
[size=A4-super] { --w:  229; --h:  322; --u: 1mm; }
[size=super-A4] { --w:  227; --h:  356; --u: 1mm; }
[size=A4-long]  { --w:  210; --h:  348; --u: 1mm; }
[size=A5-extra] { --w:  173; --h:  235; --u: 1mm; }
[size=B5-extra] { --w:  202; --h:  276; --u: 1mm; } /* SO-B5-extra */

/* JPN B */ /* Japanese */
[size=JIS-B0]   { --w: 1030; --h: 1456; --u: 1mm; }
[size=JIS-B1]   { --w:  728; --h: 1030; --u: 1mm; }
[size=JIS-B2]   { --w:  515; --h:  728; --u: 1mm; }
[size=JIS-B3]   { --w:  364; --h:  515; --u: 1mm; }
[size=JIS-B4]   { --w:  257; --h:  364; --u: 1mm; }
[size=JIS-B5]   { --w:  182; --h:  257; --u: 1mm; }
[size=JIS-B6]   { --w:  128; --h:  182; --u: 1mm; }
[size=JIS-B7]   { --w:   91; --h:  128; --u: 1mm; }
[size=JIS-B8]   { --w:   64; --h:   91; --u: 1mm; }
[size=JIS-B9]   { --w:   45; --h:   64; --u: 1mm; }
[size=JIS-B10]  { --w:   32; --h:   45; --u: 1mm; }
[size=JIS-B11]  { --w:   22; --h:   32; --u: 1mm; }
[size=JIS-B12]  { --w:   16; --h:   22; --u: 1mm; }

/* CHN D RD */ /* Chinese */
[size=D0]       { --w:  764; --h: 1064; --u: 1mm; } [size=RD0] { --w:  787; --h: 1092; --u: 1mm; }
[size=D1]       { --w:  532; --h:  760; --u: 1mm; } [size=RD1] { --w:  546; --h:  787; --u: 1mm; }
[size=D2]       { --w:  380; --h:  528; --u: 1mm; } [size=RD2] { --w:  393; --h:  546; --u: 1mm; }
[size=D3]       { --w:  264; --h:  376; --u: 1mm; } [size=RD3] { --w:  273; --h:  393; --u: 1mm; }
[size=D4]       { --w:  188; --h:  260; --u: 1mm; } [size=RD4] { --w:  196; --h:  273; --u: 1mm; }
[size=D5]       { --w:  130; --h:  184; --u: 1mm; } [size=RD5] { --w:  136; --h:  196; --u: 1mm; }
[size=D6]       { --w:   92; --h:  126; --u: 1mm; } [size=RD6] { --w:   98; --h:  136; --u: 1mm; }


/* USA 🚧 */ /* North American */
[size=ledger]            { --w: 17;   --h:      11;        --u: 1in; } /**/
[size=tabloid-extra]     { --w: 12;   --h:      18;        --u: 1in; }
[size=european-EDP]      { --w: 12;   --h:      14;        --u: 1in; }
[size=tabloid]           { --w: 11;   --h:      17;        --u: 1in; } /**/
[size='11×15']           { --w: 11;   --h:      15;        --u: 1in; }
[size=fanfold]           { --w: 11;   --h: calc(14 + 7/8); --u: 1in; }
[size=EDP]               { --w: 11;   --h:      14;        --u: 1in; }
[size='11×12']           { --w: 11;   --h:      12;        --u: 1in; }
[size='10×14']           { --w: 10;   --h:      14;        --u: 1in; }
[size='10×13']           { --w: 10;   --h:      13;        --u: 1in; }
[size='10×11']           { --w: 10;   --h:      11;        --u: 1in; }
[size=legal-extra]       { --w: 9.5;  --h:      15;        --u: 1in; }
[size=letter-extra]      { --w: 9.5;  --h:      12;        --u: 1in; }
[size=letter-tab]        { --w: 9;    --h:      11;        --u: 1in; }
[size=legal]             { --w: 8.5;  --h:      14;        --u: 1in; } /**/
[size=foolscap-folio]    { --w: 8.5;  --h:      13.5;      --u: 1in; }
[size=oficio]            { --w: 8.5;  --h:      13.4;      --u: 1in; }
[size=foolscap]          { --w: 8.5;  --h:      13;        --u: 1in; } /* government-legal */
[size=letter-plus]       { --w: 8.5;  --h: calc(12 + 2/3); --u: 1in; }
[size=european-fanfold]  { --w: 8.5;  --h:      12;        --u: 1in; }
[size=letter]            { --w: 8.5;  --h:      11;        --u: 1in; } /**/
[size=quarto]            { --w: 8.5;  --h: calc(10 + 5/6); --u: 1in; }
[size=government-legal]  { --w: 8;    --h:      13;        --u: 1in; }
[size=demitab]           { --w: 8.5;  --h:      10.5;      --u: 1in; }
[size=government-letter] { --w: 8;    --h:      10;        --u: 1in; }
[size=executive]         { --w: 7.25; --h:      10.5;      --u: 1in; }
[size='7×9']             { --w: 7;    --h:       9;        --u: 1in; }
[size=memo]              { --w: 5.5;  --h:       8.5;      --u: 1in; }
[size=half-letter]       { --w: 5.5;  --h:       8.5;      --u: 1in; } /* Same as memo */
[size=statement]         { --w: 5.5;  --h:       8.5;      --u: 1in; } /* Same as memo */
[size=junior-legal]      { --w: 5;    --h:       8;        --u: 1in; }
[size='5×7']             { --w: 5;    --h:       7;        --u: 1in; }
